/ / Erreur avec JQuery, json dans Chrome - javascript, jQuery, json, google-chrome

Erreur avec JQuery, json dans Chrome - javascript, jQuery, json, google-chrome

Récemment, j'ai acheté un script de discussion qui fonctionne bien dans Firefox, mais pas dans Chrome. J'ai localisé l'erreur mais je ne peux pas la résoudre. Le code est ...

function checknew(){
$.ajax({
url: "user_chat/chat.php?action=checknew",
type : "GET",
contentType: "application/json",
cache: false,
dataType: "json",
async: false,
error: alert("error");
success: function(data) {

Quand je vérifie dans firefox, tout fonctionne bien. Mais dans Chrome, le message d'alerte se déclenche. Quelqu'un peut-il me dire s'il vous plaît ce qui ne va pas ici?

Réponses:

0 pour la réponse № 1

le error attribut attend une fonction référence, mais c’est un appel.

Alors, remplacez:

error: alert("error");

avec:

error: function () {
alert("error");
},

Ceci assigne une fonction anonyme à error, qui appelle alert("error"), au lieu d'essayer de l'appeler quand une définition était attendue.


0 pour la réponse № 2

Essayez de changer cela

    async: false,
error: alert("error");
success: function(data) {

pour ça:

async: false,
error: function(xhr, Status, Error){
alert("Status: " + Status); //Add a breakpoint (see below)
alert("Error: " + Error);
},
success: function(data) {

En outre, vous devriez sortir de l’habitude d’utiliser alert() et apprendre à utiliser un débogueur. Chrome est livré avec un logiciel intégré, Firefox aussi, mais à mon humble avis, le module Firebug est préférable.

Dans Chrome, appuyez sur F12. Aller au Sources onglet, utilisez le menu @ la gauche pour trouver votre page et double-cliquez sur la ligne indiquée ci-dessus. Cela va ajouter un point d'arrêt.

Maintenant, quand le javascript est lancé, quand il arrive à cette ligne, il s'arrête et vous laisse regarder les variables, les messages d'erreur, etc.

Également Network L'onglet affiche toutes les requêtes Web effectuées par cette page (télécharger des images, recevoir des appels CSS, AJAX, etc.). Vous pouvez voir s’ils ont réussi ou non, quelle erreur a été renvoyée par le serveur, etc.

Il existe un guide très détaillé sur l'utilisation des outils Chrome. ici. Firebug pour FF est presque identique à utiliser (bien que IMHO une interface légèrement plus intuitive).

Enfin, tous les outils de développement mentionnés ont une "Console" où certaines informations (telles que les avertissements et les erreurs récents) sont affichées. Vous pouvez même y envoyer vos propres messages (google Javascript Console.Log.