2011-01-03 5 views
1

J'utilise jquery avec le plugin formulaire pour gérer le soumettre, mais lorsque le client reçoit la réponse du serveur, il ne peut pas passer à un objet JSON:jquery ne peut pas transformer réponse JSON

var options = { 
    success: showResponse, 
    dataType: 'json', 
    error: errorhandler 
}; 
$('#UserEditForm').ajaxForm(options); 

La réponse du serveur est générer avec la fonction php _json_encode_
Quand je soumets la forme, toujours la ErrorHandler fonction est appelée et je vérifie la réponse avec Firebug il est livré avec une sorte d'un espace après le premier « { »

" {"status":1"}" 

qu'avec UTF- 8 encode et quelque chose comme:

"{"status":1}" 

avec iso-8859-1.

Merci!

+1

Qu'est-ce que la réponse JSON de la le serveur ressemble réellement? Par exemple, dans les outils de développement de Firebug ou Chrome ou ...? –

Répondre

0

Envoyez-vous des en-têtes avec la réponse de votre serveur?

Sinon, essayez:

header ('Content-Type: application/JSON');

Aussi, j'ai eu des problèmes avec jQuery ne pas lire quelques gros morceaux de données JSON correctement, et j'ai utilisé la méthode d'analyse de json.org:
https://github.com/douglascrockford/JSON-js/blob/master/json2.js

+0

J'essaie d'ajouter l'en-tête, mais avec cela le comportement est pire !! – ldcl289

Questions connexes