Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2010, 16h38   #1
Membre confirmé
 
Inscription : décembre 2006
Messages : 307
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 307
Points : 226
Points : 226
Par défaut jquery, json et header http

Bonjour,

J'ai un script php qui me renvoi un tableau encodé en json :
En toute logique, je déclare un header avec le type mime "application/json".

Code :
1
2
3
4
5
6
7
8
 
    $json['a'] = "bla bla";
    $json['b'] = "bli bli;
    $json['c'] = "blo blo";
    header('Content-type: application/json; charset=utf8');
    header('Cache-Control: no-cache, must-revalidate');
    header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
    echo json_encode($json);
Et mon code javascript utilisant jquery est le suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
function action(){
    $.ajax({
       type: "POST",
       url: "script.php",
       data: "machin=truc",
       success: function(msg){
	data = jQuery.parseJSON(msg);
	$('#mondiv').html(data.a);
       }
    });
Malheuresement cela ne fonctionne pas. Par contre si je laisse le mimetype par défaut (text/plain), dans ce cas, je récupère bien mes données json.
Visiblement je ne récupère pas correctement mes données json.

Avez vous une idée du problème ?

Merci
__________________
Prestataires, inscrivez vous dans l'annuaire e-commerce des prestataires - foe.hn : un raccourcisseur d'url fun, avec API
max-mag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 18h47   #2
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Bonjour,

dans le header vous indiquez bien que vous renvoyez du JSON et faite bien le json_encode.

Le problème vient côté "client" et Javascript du fait que $.parseJSON() est inutile, data est déjà au format JSON.

Code :
1
2
3
4
5
6
7
8
    $.ajax({
       type: "POST",
       url: "script.php",
       data: "machin=truc",
       success: function(msg){
	$('#mondiv').html(msg.a);
       }
    });
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 09h56   #3
Membre confirmé
 
Inscription : décembre 2006
Messages : 307
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 307
Points : 226
Points : 226
Impeccable, merci
__________________
Prestataires, inscrivez vous dans l'annuaire e-commerce des prestataires - foe.hn : un raccourcisseur d'url fun, avec API
max-mag est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h13.


 
 
 
 
Partenaires

Hébergement Web