MVC3 - Публиковать файлы через AJAX & JSON без формы - PullRequest
2 голосов
/ 21 мая 2011

У меня есть метод действия, который получает сложный объект JSON от клиента. Я сериализую этот объект на стороне клиента и из-за сложности не могу (не хочу) использовать форму отправки для публикации данных.

Мне также нужно иметь возможность отправлять файлы вместе с этим запросом ajax. Мой метод действия работает отлично и связывает объект JSON (фактически список объектов) просто отлично, используя jQuery.ajax (). Когда я перехожу к плагину ajax формы , чтобы я мог отправлять файлы, разрывается привязка объекта. Я пытаюсь отправить форму с помощью плагина и отправить свой объект вместе с дополнительными данными. Метод действия больше не видит мой объект.

Есть мысли о том, как разместить JSON и файлы вместе в одном методе действия?

Вот метод jQuery.ajax (), который работает. Здесь нет формы для отправки, это просто отправка данных JSON на сервер

$.ajax({
            url: "/Controller/Create2",
            type: 'POST',
            data: JSON.stringify(model),
            dataType: 'json',
            contentType: 'application/json, charset=utf-8',
            beforeSend: function () {

            },
            success: function (data) {

            },
            error: function () {


            }
        });

Метод My Action прекрасно обрабатывает список объектов.

public ActionResult Create2(List<CreateModel> model)
{
       //Do stuff

}

Но когда я отправляю ajax в форму и добавляю данные, модель возвращается к нулю.

f.ajaxSubmit({
            url: "/Controller/Create2",
            type: "POST",
            data: JSON.stringify(model),
            dataType: 'json',
            contentType: 'application/json, charset=utf-8',
            beforeSend: function () {

            },
            success: function (data) {

            },
            error: function (data) {

            }
        });

Мне нужно сохранить функциональность привязки к объектам JSON в методе действия. Означает ли это, что я должен отказаться от публикации файлов?

1 Ответ

0 голосов
/ 08 июля 2011

Взгляните на jQXB (http://www.jqxb.altervista.org или http://jqxb.codeplex.com)

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