浏览器试图打开application/json文件

Browser tries to open application/json as a file

本文关键字:json 文件 application 浏览器      更新时间:2023-09-26

我在MVC 3应用程序中有一个JSON响应问题。当JSON响应时,我的浏览器无法处理application/JSON,并试图将其作为文件打开。但是,我在文件中收到了正确的数据。

我已经添加到我的全局。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 });
     }

我还在ie中添加了。json (application/json)到mime列表。

如果您试图直接在Firefox中访问带有JSON标题的文件(意思是:您在地址栏中输入URL), Firefox将将其作为文件下载。但是,当您在AJAX请求中调用JSON时,它将按照您希望的方式工作。