J'ai un formulaire qui est sérialisé par JQuery et publié via .ajax() dans une URL.JQuery .ajax() succès toujours en cours (même lorsque le serveur renvoie le code d'erreur)
Le problème est que la fonction 'success:' est toujours appelée, que le serveur renvoie ou non un code d'erreur. En fait, le succès se déclenche avant même que le serveur ne réponde (j'ai mis un point d'arrêt sur la méthode serveur qui gère la requête - le succès se déclenche avant même que cette méthode ne soit terminée). Si le serveur renvoie un code d'erreur (par exemple, le code d'état 500), JQuery appelle à la fois les événements de réussite et d'erreur!
Des idées? Que se passe-t-il? Voici mon code jquery:
$("#a-dialog").dialog({
autoOpen: false,
height: 300,
width: 400,
modal: true,
buttons: {
"Submit": function() {
$.ajax({
type: 'POST',
url: theURL,
data: $("#a-dialog-form").serialize(),
success: alert('ok!') // THIS IS ALWAYS CALLED (IMMEDIATELY)
});
},
},
});
MISE À JOUR:
Ce fut une erreur stupide de ma part! Merci à blue112 pour pointer rapidement sur :)
Doh! Bien sûr! Merci :) – UpTheCreek
+1 - le code OPs attribue la valeur * return * de 'alert (" ok! ")' À la propriété 'success' –