$.getJSON d'obtenir le statut
Effectuer des croix domaine de requête, comment effectuer une certaine fonction si l'URL sur laquelle il est en cours d'exécution n'est pas disponible (404)?
J'ai essayer quelque chose comme cela:
$.getJSON({
url:'example.php?callback=?',
statusCode: {
404:function(){alert('404');}
},
success :function(data){//do stuff}
});
n'êtes-vous pas manquer une
Avez-vous lu la documentation?
Bruno Vieira - non, j'ai fait une erreur ici, de la création des questions
la Légèreté des Courses en Orbite - Oui, je l'ai lu, mais malheureusement l'exemple donné, il n'était pas utile
,
après votre url
paramètre?Avez-vous lu la documentation?
Bruno Vieira - non, j'ai fait une erreur ici, de la création des questions
la Légèreté des Courses en Orbite - Oui, je l'ai lu, mais malheureusement l'exemple donné, il n'était pas utile
OriginalL'auteur Aleksov | 2012-11-12
Vous devez vous connecter pour publier un commentaire.
Matt publié un excellent réponse dans cette question qui peut résoudre votre problème.
Vous devrez ajouter un
success
bien sur votre objet JSONKeYan fait une bonne suggestion en cochant la XHR statut de la propriété si vous ne s'attendent pas des problèmes de délai.
je voterais sa solution, mais je manque de points de rep.Avez-vous d'ajouter un
{'success':'true'}
?KeYan exemple ne fonctionne pas... Peut-être que je suis en train de faire quelque chose de mal?
var success = false; $.getJSON(sl+'/404/com.add.lics.php?callback=?',function(g){ success = true; }); setTimeout(function(){ if (!success){ alert("Houston, we have a problem."); } }, 5000);
C'est vraiment en train de travailler correctement. Vous réussi à attraper le délai que si l'instruction! Frapper la fin de la temporisation suppose que votre service est de prendre de temps à répondre, donc une erreur 404.
Modifié la chaîne de valeur afin de refléter ce qui se passe réellement, car le mot "problème" semble causer un peu de confusion
OriginalL'auteur RekindledPhoenix
J'ai trouvé cette approche pour résoudre la même question que j'avais, là où je voulais des codes d'état différemment. Par exemple, '404' code comme ci-dessous.
Il y a 3 paramètres passés à la méthode:
Pour le jQuery docs voir:
http://api.jquery.com/jQuery.ajax/#jqXHR
http://api.jquery.com/deferred.fail/
OriginalL'auteur toddles_fp
OriginalL'auteur humblelistener
Il est intrinsèquement impossible d'obtenir le code d'état d'une requête JSONP.
Vous pouvez ajouter un général gestionnaire d'erreur pour le
$.ajax
appel.OriginalL'auteur SLaks