Браузер пытается открыть приложение / JSON в виде файла - PullRequest
0 голосов
/ 16 августа 2011

У меня проблема с ответом JSON в приложении MVC 3. Когда 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) в список MIME в IIE.

1 Ответ

0 голосов
/ 16 августа 2011

Если вы пытаетесь получить доступ к файлу с заголовками JSON в Firefox напрямую (что означает: вы вводите URL-адрес в адресную строку), Firefox загрузит его в виде файла. Однако, когда вы вызываете свой JSON в запросе AJAX, он будет работать так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...