Je fais un post jQuery AJAX comme ceci:Poster avec jQuery AJAX pour ASP.NET MVC 1.0
var form = $("#formid");
form.submit(function()
{
$.ajax(
{
type: "POST",
url: form.attr("action"), // points to NewClient
data: form.serialize(),
success: function(msg) { alert('ok ' + msg); },
error: function(req, status, err) { alert('err=' + err + ' status=' + status); }
});
return false;
});
Du côté ASP.MVC j'ai quelque chose comme ceci:
[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult NewClient()
{
// just a test...
return null;
}
Quel est le bon type de résultat pour la fonction NewClient pour que jQuery fonctionne correctement? Comme c'est le cas maintenant, il fonctionne dans FF et Chrome, mais échoue dans IE8 (fonctionne dans IE7) - IE8 je reçois l'alerte d'erreur (éditer: l'erreur était due à un "débogueur;" appel dans l'appel JS). Dans tous les cas, ce qui est la méthode recommandée pour: (. Le $() sérialisation() semble fonctionner très bien, est-ce la méthode recommandée?)
- Passez un entier formulaire ASP.NET MVC via jQuery
- Du côté du serveur pour renvoyer soit le succès ou l'échec, et si elle échoue une sorte de message que je pourrais afficher au client. Comment puis-je dire à jQuery que la méthode/l'appel a échoué ou non?
Merci.
EDIT:
Le HTML ressemble à ceci:
<form id="formid" action="/client/newclient">
... input fields ...
</form>
Je le regarde en ce moment en essayant de comprendre pourquoi cela ne fonctionnera pas avec IE8. – pbz
Il semble que j'ai eu le message d'erreur parce que j'avais un "débogueur" dans le code JavaScript; pour une raison quelconque, il n'aime pas ça. Si je le retire, ça fonctionne bien. – pbz
J'aime la solution dans votre message. Je vous remercie! – pbz