Javascript 浏览器尝试将application/json作为文件打开
我的MVC 3应用程序中的JSON响应有问题。当JSON响应时,我的浏览器无法处理application/JSON并尝试将其作为文件打开。但是,我在文件中收到了正确的数据 我已将此添加到我的Global.asax文件中:Javascript 浏览器尝试将application/json作为文件打开,javascript,asp.net-mvc,json,asp.net-mvc-3,Javascript,Asp.net Mvc,Json,Asp.net Mvc 3,我的MVC 3应用程序中的JSON响应有问题。当JSON响应时,我的浏览器无法处理application/JSON并尝试将其作为文件打开。但是,我在文件中收到了正确的数据 我已将此添加到我的Global.asax文件中: ValueProviderFactories.Factories.Add(new JsonValueProviderFactory()); 这是我的javascript代码: $('#register).submit(function () { if
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列表中。如果您试图在Firefox中直接访问带有json头的文件(意思是:您将URL输入地址栏),Firefox会将其作为文件下载。但是,当您在AJAX请求中调用JSON时,它将按照您希望的方式工作