2009-05-21 11 views
3

La demande Ajax est la suivante:ASP.NET MVC Ajax Form OnFailure n'a jamais été appelé!

Dans la méthode d'action du contrôleur j'ai essayé d'ajouter erreur ModelState ainsi que jeter une exception, mais la réponse est jamais appeler onFailure. Il appelle toujours OnSuccess indépendamment de la réponse. Peut-être que je manque quelque chose ici.

La question: Quand va-t-on appeler la méthode OnFailure js? Tous les échantillons seront grandement appréciés.

Merci

Répondre

11

Vous devez retourner une erreur HTTP code d'état de votre action. Par exemple. 400, 404, 500.

essayer quelque chose comme ceci:

throw new HttpException(404, "Not Found"); 
+0

Merci pour la réponse – Bharat

+1

Cela n'a pas fonctionné pour moi. – gangelo

+0

La réponse ci-dessus devrait fonctionner. Vous pouvez consulter ma question [ici] (http://stackoverflow.com/a/37332246/4896260) qui donne un peu plus de détails. – usr4896260

0

Selon le MSDN definition, onFailure est appelée lorsque l'état de réponse HTTP est pas dans la plage de 200. Par exemple, si c'est une redirection permanente (308), une redirection temporaire (307) introuvable (404) ou une mauvaise requête (400), la méthode OnFailure est appelée. Pour une liste complète des codes de réponse HTTP, see this wikipedia article