@EVOSandru6

Как в yii/ajax/jquery загрузить асинхронно картинки и сериализованную форму в data?

Добрый день,

Есть такая проблемка,

Без проблем проходили данные постом через форму посредством ajax запроса и обрабатывались на сервере. Но появилась необходимость асинхронной загрузки главного изображения к записи и группы изображений к этой записи (CMultiFileUpload компонент).

Моя кнопка Chtml::submitButton находится вне виджета формы. Это Очень необходимо.

Раньше я просто посылал данные из формы, datatype и datacontent не указывал.

$.ajax({
...
data: $("#hotels-form").serialize()
...
});


Пользуясь этим мануальчиком www.yiiframework.com/wiki/388/ajax-form-submiting-...

Решил запилить асинхронную загрузку.

В нем предлагается загружать картинки через formData:

var formData = new FormData($("#post-form")[0]);
data: formData,


Плюс к этому указываются три параметра:

cache: false,
        contentType: false,
        processData: false


1. Как мне отправить данные с формы вместе с formData
2. Что при этом делать с остальными параметрами ajax?
3. Как сделать так, чтобы на сервер отправлялось и главное изображение и группа изображений?

Пока химичу с параметрами, но ловлю подобные ошибки:
Uncaught TypeError: Illegal invocation

либо попадаю в секцию error у ajax без объяснения причин и логов:

Если:

dataType:'json',
data: $("#hotels-form").serialize(),


Или:
dataType:'json',
data: $("#hotels-form").serialize() + '&' + 'files='+ formData,


В данном случае теряю токен:
dataType:'json',
data: $("#hotels-form").serialize() + formData,


Помогите пожалуйста!
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
PafNutY
@PafNutY
Люблю кодить в своё удовольствие
Попробуйте плагин form, возможно поможет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы