J'ai rencontré ce problème tout d'un coup faire un ajax simple d'un formulaire. Le JSON revient correctement formaté mais le navigateur vous invite à le télécharger. Fiddler montre le type de contenu comme correct:Invite de navigateur téléchargement de la réponse JSON, ASP.NET MVC2
application/json; charset: utf-8
Voici mon javascript:
$("#submitbutton").click(function(e) {
$.post('FormTest', function(o) {
FormCallback(o);
});
});
Voici le côté serveur:
public JsonResult FormTest(string test) {
return Json("This worked!");
}
Encore une fois, je reviens d'un objet à partir du serveur bien, mais il me demande de télécharger (Firefox) ou montre simplement l'objet dans un nouvel onglet dans le navigateur (Chrome).
J'ai trouvé une autre question comme celle-ci mais l'auteur n'a pas expliqué ce qui n'allait pas. C'est fou! Des idées?
Edit: Le code est ci-dessous, à côté de la e.preventDefault, j'ai aussi besoin de dire que ce qui forme des données à utiliser:
$("#submit-button").click(function(e) {
$.post('address', $("#form").serialize(), function(o) {
FormCallback(o);
});
e.preventDefault();
});
Cela n'a pas fonctionné. Même résultat – KieselguhrKid
Attends j'ai menti, ça a marché, le problème était double, je le posterai dans ma question d'origine. Merci! – KieselguhrKid
Aussi, j'ai remarqué que quand je le fais en ligne cela fonctionne très bien, mais si je mets le code dans un script externe ça ne marche pas (même invite JSON à télécharger) ... des idées? – KieselguhrKid