jQuery Form, ASP.NET MVC JSon Результат - PullRequest
1 голос
/ 28 января 2010

Я пытаюсь вернуть результат json из экземпляра jQuery Form - но он продолжает предлагать мне загрузить файл вместо отображения его в окне, как это должно быть ...

    $("#ajaxImageForm").ajaxForm({
        iframe: true,
        type: "GET",
        dataType: "json",
        beforeSubmit: function() {
            $("#ajaxImageForm").block({ message: '<img src="/content/images/loader.gif" /> Uploading . . .' });
        },
        success: function(result) {
            $("#ajaxImageForm").unblock();
            $.growlUI(null, result.message);
        }
    });

    [AcceptVerbs(HttpVerbs.Post)]
    public JsonResult Edit(FormCollection collection)
    {
        // return Json to the jQuery Form Result
        return new JsonResult {  Data = new { message = string.Format("edited successfully.") } };
    }

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Вы запрашиваете GET из своего кода jQuery, но вы заявляете, что действие предназначено только для POST. Измените один из них, и вы должны быть хорошими.

$("#ajaxImageForm").ajaxForm({
    iframe: true,
    type: "POST",
    dataType: "json",
    beforeSubmit: function() {
        $("#ajaxImageForm").block({ message: '<img src="/content/images/loader.gif" /> Uploading . . .' });
    },
    success: function(result) {
        $("#ajaxImageForm").unblock();
        $.growlUI(null, result.message);
    }
});
1 голос
/ 28 января 2010

Вы устанавливаете тип запроса ajax на «GET», но ваш метод действия настроен на прием только запросов типа POST.

Попробуйте вместо этого изменить его на POST.

0 голосов
/ 29 января 2010

Я видел похожую проблему, хотя не уверен, что причина была та же. Я нашел способ исправить это - вместо этого вернуть результат содержимого с типом содержимого text / html.

т.е.

return Content("{message: 'edited successfully'}", "text/html");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...