我的MVC 3应用程序中的JSON响应存在问题。当JSON响应时,我的浏览器无法处理application / json并尝试将其作为文件打开。但是,我正在收到文件中的正确数据。
我已将此添加到我的Global.asax文件中:
ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());
这是我的javascript代码:
$('#register).submit(function () {
if ($(this).valid()) {
var ai = {
Firstname: $("#Firstname").val(),
Lastname: $("#Lastname").val(),
Email: $("#Email").val()
};
var json = $.toJSON(ai);
$.ajax({
url: '/Person/Create',
type: 'POST',
dataType: 'json',
data: json,
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert("Success");
},
error: function (data) {
alert("Error");
}
})
}
});
这是我的ActionResult方法:
[HttpPost]
public ActionResult Create(Person person)
{
if (ModelState.IsValid)
{
db.Personer.Add(person);
db.SaveChanges();
}
return Json(new { Success = person.ID > 0, Firstname = person.Firstname, Lastname = person.Lastname });
}
我还将.json(application / json)添加到IIE的MIME列表中。
答案 0 :(得分:0)
如果您尝试直接在Firefox中访问带有JSON标头的文件(意思是:您将URL输入到地址栏中),Firefox会将其作为文件下载。但是,当您在AJAX请求中调用JSON时,它将以您希望的方式工作。