Я неожиданно столкнулся с этой проблемой, выполняя простую ajax-отправку формы.JSON возвращается в правильном формате, но браузер предлагает загрузить его.Fiddler показывает тип контента как правильный:
application/json; charset: utf-8
Вот мой JavaScript:
$("#submitbutton").click(function(e) {
$.post('FormTest', function(o) {
FormCallback(o);
});
});
Вот сторона сервера:
public JsonResult FormTest(string test) {
return Json("This worked!");
}
Опять получаювернуть объект с сервера нормально, но он либо предлагает мне загрузить (Firefox), либо просто показывает объект на новой вкладке в браузере (Chrome).
Я нашел еще один вопрос, подобный этому, но авторне объяснил, что было не так.Это безумие!Есть идеи?
Редактировать: Ниже приведен правильный код, кроме e.preventDefault, мне также нужно было указать, какие данные формы использовать:
$("#submit-button").click(function(e) {
$.post('address', $("#form").serialize(), function(o) {
FormCallback(o);
});
e.preventDefault();
});