J'ai un appel ajax qui transmet des données à une page qui renvoie ensuite une valeur.
J'ai récupéré l'appel réussi de la page mais je l'ai codé de sorte qu'il soulève une erreur dans l'asp. Comment récupérer cette erreur de la jquery?
Par exemple:
cache: false,
url: "addInterview_Code.asp",
type: "POST",
datatype: "text",
data: strData,
success: function (html) {
alert('successful : ' + html);
$("#result").html("Successful");
},
error: function (error) {
**alert('error; ' + eval(error));**
}
C'est le bit d'erreur que je ne comprends pas. Dans la fonction, quel paramètre dois-je mettre pour que je puisse ensuite utiliser le message d'erreur que j'ai généré sur le serveur.
dataType
pas le casdatatype
..error
et.success
deviennent plus importants car ils ont été supprimés.Réponses:
Les paramètres requis dans une
error
fonction Ajax sontjqXHR, exception
et vous pouvez l'utiliser comme ci-dessous:DÉMO FIDDLE
Paramètres
jqXHR:
C'est en fait un objet d'erreur qui ressemble à ceci
Vous pouvez également afficher cela dans votre propre console de navigateur, en utilisant
console.log
à l'intérieur de laerror
fonction comme:Nous utilisons la
status
propriété de cet objet pour obtenir le code d'erreur, comme si nous obtenons status = 404, cela signifie que la page demandée est introuvable. Cela n'existe pas du tout. Sur la base de ce code d'état, nous pouvons rediriger les utilisateurs vers la page de connexion ou tout ce que notre logique métier requiert.exception:
Il s'agit d'une variable de chaîne qui montre le type d'exception. Donc, si nous obtenons une erreur 404, le
exception
texte serait simplement une «erreur». De même, nous pourrions obtenir 'timeout', 'abort' comme d'autres textes d'exception.Donc, si vous utilisez jQuery 1.8 ou supérieur, nous devrons mettre à jour la logique de la fonction de succès et d'erreur comme: -
J'espère que ça aide!
la source
.error
et.success
deviennent plus importants car ils ont été supprimésEssaye ça:
Si vous souhaitez informer votre frontend d'une erreur de validation, essayez de renvoyer json:
Votre script asp devrait retourner:
la source
Voici comment retirer l'erreur asp.
la source
http://api.jquery.com/jQuery.ajax/
la source
la source
vous utilisez une fonction
mais jquery recherche en fait une fonction avec trois paramètres:
vous devrez ajouter deux paramètres supplémentaires.
AUSSI: veuillez jeter un œil à tous les commentaires ci-dessus qui mentionnent «obsolète» :)
la source
function myMethod (err) { alert(err); }
puis appelez-la commemyMethod ("something is wrong", 500, some_object)
- Cela fonctionnera sans aucun problème. Selon votre déclaration, cela ne fonctionnerait que si la signature de la méthode estfunction myMethod (err, status, some_object)
. Oubliez l'exemple ci-dessus, la signature de l'success
événement que vous avez dans la réponse est en fait.success(data, status, xhr)
, mais si vous avez juste besoin du résultat, nous le lions généralement.success (data)
et les deux fonctionnent.De jquery.com:
Si vous voulez des gestionnaires globaux, vous pouvez utiliser:
la source