2010-08-25 5 views
6

jquery permet d'échouer avec succès et de répondre aux erreurs. Comment puis-je retourner un échec ou une erreur manuellement avec une chaîne décrivant l'échec ou l'erreur?Ajax/php - Comment retourner une erreur

Répondre

1

Les rappels de succès et d'erreur fournis par jQuery concernent l'objet XMLHTTPRequest. La seule façon de l'utiliser est que votre serveur renvoie un code d'erreur dans l'en-tête de la réponse HTTP, ce qui n'est pas très courant, donc je ne le recommanderais pas. En bref, la fonction d'erreur jQuery est pour les erreurs fatales, comme l'URL n'existe pas, ou l'authentification requise.

Toutes les autres erreurs qui se présentent doivent être traitées côté serveur ou la fonction de succès de l'appel ajax jQuery.

8

Il est devenu assez conventionnel d'utiliser une simple enveloppe JSON pour signaler les échecs survenus du côté serveur (qui ne sont pas des erreurs HTTP).

Le api flickr fournit un exemple d'emballage typique:

look at the bottom of this page for success and failure examples

Ainsi, dans le cas d'un appel Ajax à l'API Flickr, dans votre rappel de succès que vous souhaitez vérifier les données de retour de réussite/échec

$.ajax({ 
    //... 
    success: function(data) { 
    if(data.stat == 'fail') { 
     //data.code + data.message contain details that could be used here 
    } 
    else { 
     //do success stuff here 
    } 
    } 
}); 
Questions connexes