@Red_Fox_My

Не отправляется файл через ajax — Yii?

Не отправляется файл через ajax - Yii
Возвращается на сервер
$_POST - пустой массив
$_FILES - пустой

var file = document.getElementById(window.image_input_original).files[0];
var fd = new FormData();
fd.append(window.image_input_original, file, window.image_input_original+'.jpg');

$.ajax({
    type: "POST",
    processData: false,
    contentType: 'multipart/form-data',
    url: _jcropOptions['url'],
    data: {form:fd,field_model:window.image_input},
    success: function(data){
        console.log( "Прибыли данные: " + data);
    },
    error: function(data){
        console.log( "Ошибка: " + data );
    },
});

$post = Yii::$app->request->post();

            $uploadParam = $post['field_model'];
            $model = new DynamicModel([$uploadParam]);
            parse_str($post['form'],$params);
            var_dump($_POST);
            var_dump($_FILES);
            die();
            $model->load($params);
            $model->{$uploadParam} = UploadedFile::getInstance($model, $uploadParam);
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Вы не сможете загрузить изображение при помощи только ajax.
Чтобы загрузить изображение используйте класс FormData
Это тоже не правильно
data: {form:fd,field_model:window.image_input},
Используйте serialize() для сбора данных с формы.
Вот ещё.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы