jQuery, ajax demande n'a pas de succès avec JSON sur IE
J'ai fait un appel AJAX et il fonctionne sur FF & Chrome mais pas sur IE 7-8-9. Je suis le chargement d'un fichier JSON à partir de mon domaine:
$.ajax({
url: 'js/jquery.desobbcode.json',
dataType: 'json',
cache: false,
success: function(json) {
alert('ok');
},
error: function(xhr, errorString, exception) {
alert("xhr.status="+xhr.status+" error="+errorString+" exception="+exception);
}
});
J'ai aussi essayé en ajoutant contentType: 'application/json'
mais je reçois le même résultat qui est :
xhr.status=200
error=parsererror
exception=SyntaxError Unterminated string constant
J'ai vérifié mon fichier JSON avec JSONLint et c'est OK. J'ai vérifié si il y a une virgule supplémentaire et le contenu est également garni. Voir mon fichier JSON
Si j'ai mis dataType: 'text'
, je reçois le OK alerte, mais une version de débogage de popup trop.
Pourriez-vous m'aider? Ce qui concerne.
Me semble que le problème est avec votre type de données. Quel type mime est utilisé dans la réponse? Il doit être le même que ce que le client attend. Si votre réponse à l'aide d'un texte/html mimetype il sera la cause de l'erreur de callback sera appelée lors de l'utilisation de type de données: json.
Qui-tête content-type ne
"Si j'ai mis dataType: 'texte', je reçois le OK alerte, mais une version de débogage de popup trop." - Vous voulez dire que vous obtenez un message d'erreur? Si oui, que faut-il dire.
Merci à tous, j'ai corrigé, c'était juste un problème de codage. Mon fichier JSON était dans la norme ANSI, dans Notepad++ j'ai coché la case "Convertir en UTF-8" et c'est OK. Le contentType n'était pas nécessaire dans mon cas.
Qui-tête content-type ne
js/jquery.desobbcode.json
émettent?"Si j'ai mis dataType: 'texte', je reçois le OK alerte, mais une version de débogage de popup trop." - Vous voulez dire que vous obtenez un message d'erreur? Si oui, que faut-il dire.
Merci à tous, j'ai corrigé, c'était juste un problème de codage. Mon fichier JSON était dans la norme ANSI, dans Notepad++ j'ai coché la case "Convertir en UTF-8" et c'est OK. Le contentType n'était pas nécessaire dans mon cas.
OriginalL'auteur Syl | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
IE est connu pour avoir des problèmes avec implicite des types de contenu.
Essayer de préciser un
contentType
et vérifier ce qui est de revenir sur le serveur:Vous pouvez également essayer de l'envoi de données vide:
OriginalL'auteur Terry
Si vous utilisez un script php pour l'écho de vos json sous la forme d'une chaîne vient de mettre
avant
ligne.
OriginalL'auteur Dimitar Slavchev
C'est les retours à la ligne dans le JSON. Cela devrait analyser dans IE:
Live exemple: http://jsbin.com/umahiq/edit
OriginalL'auteur Dave Ward
Peut-être essayer le réglage de la contentType "text/json" au lieu de "application/json". J'ai eu quelques problèmes dans le passé à l'aide de "application/json" et utiliser "text/json" a toujours l'air de mieux fonctionner.
Je ne pense pas que c'est en fait, le RFC a dit application/json est le mime correct, mais j'ai trouvé text/json à travailler de façon plus systématique.
OriginalL'auteur Matt MacLean