Je sais que cela fait un moment que quelqu'un n'a pas répondu ici et que l'auteur de la question a probablement déjà obtenu sa réponse ici ou ailleurs. Je pense cependant que ce post aidera tous ceux qui cherchent un moyen de garder une trace des erreurs et des timeouts lors des requêtes getJSON. Par conséquent, voici ma réponse à la question
La structure de getJSON est la suivante (trouvée sur http://api.jqueri.com ) :
$(selector).getJSON(url,data,success(data,status,xhr))
la plupart des gens le mettent en œuvre en utilisant
$.getJSON(url, datatosend, function(data){
//do something with the data
});
où l'on utilise la variable url pour fournir un lien vers les données JSON, la variable datatosend pour ajouter la balise "?callback=?"
et d'autres variables qui doivent être envoyées pour obtenir le retour de données JSON correctes, et la fonction de réussite comme fonction de traitement des données.
Vous pouvez toutefois ajouter les variables status et xhr dans votre fonction de réussite. La variable status contient l'une des chaînes suivantes : "success", "notmodified", "error", "timeout", ou "parsererror", et la variable xhr contient l'objet XMLHttpRequest renvoyé ( trouvé sur w3schools )
$.getJSON(url, datatosend, function(data, status, xhr){
if (status == "success"){
//do something with the data
}else if (status == "timeout"){
alert("Something is wrong with the connection");
}else if (status == "error" || status == "parsererror" ){
alert("An error occured");
}else{
alert("datatosend did not change");
}
});
De cette façon, il est facile de suivre les délais d'attente et les erreurs sans avoir à mettre en œuvre un suivi personnalisé des délais d'attente qui est lancé dès qu'une demande est effectuée.
J'espère que cela aidera quelqu'un qui cherche encore une réponse à cette question.
0 votes
Il semble qu'il s'agisse d'un doublon de Comment éviter l'erreur jQuery $.getJSON (ou $.ajax avec le type de données défini sur 'jsonp') lorsque j'utilise JSONP ?
0 votes
Ajay, pourquoi ne pas envisager de marquer la bonne réponse ?
0 votes
@IonicaBizau Marqué maintenant. J'ai perdu la trace de ce sujet pendant un moment. La première réponse ne parle pas de JSONP. Comme l'a souligné Ben Shelock, il n'y a pas de gestionnaire d'erreur supporté, c'est ce que je crois