J'ai une application de chat très simple sur un site qui fonctionne très bien.Jquery JSON .each() ne fonctionne pas dans Google Chrome
Elle prie par ajax comme ceci:
$.ajax({
url: "fetch/"+CHAT_SESSION_ID+"/"+LAST_MESSAGE_ID,
dataType: "json",
cache: false,
success: function(data) {
if (data.session_active == 0) { //If other chatter ended session
alert("Session Ended");
}
else
{
$.each(data.messages, function(i,msg){
alert(msg.message.Body);
)};
}
}
});
et obtient une réponse JSON qui lookes comme ceci:
{ "session_active": "1", "messages": [ {"message": {"MsgID": "100", "UserID": "1", "Body": "heyy"}}, ]}
Il fonctionne très bien dans au moins FF et Saf mais dans Chrome n'a jamais passe le .each! Cela me rend fou, j'ai essayé tout ce que j'ai rencontré en ligne pendant des jours, mais je n'arrive pas à faire les choses correctement.
Aidez quelqu'un! Je peux fournir un serveur de tests si quelqu'un veut le lancer lui-même;)
Avez-vous essayé de le déboguer dans Firebug (extension firefox)? Il pourrait effectivement montrer un avertissement ou une erreur même si elle fonctionne dans Firefox. –
Essayez également les outils de développement en allant dans le menu dans le coin supérieur droit de l'écran dans Chrome et aller "Développeur -> Outils de développement". Le bouton "show console" en bas à gauche de l'écran ou l'un des onglets, tels que "Resources", peut vous aider à vous assurer que le mime/encodage des données JSON est correctement identifié. – cryo