Загрузка картинок с помощью ajax

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
assd18
Сообщения: 69
Зарегистрирован: 2013.01.11, 16:11

Загрузка картинок с помощью ajax

Сообщение assd18 »

Здравствуйте. Пытаюсь реализовать загрузку картинок. Пример брал отсюда. Кнопку сабмит моделирию через аякс и сериализацию формы. Когда вывожу модель, то данные обычного сабмита и аякса отличаются.
Всем заранее спасибо за помощь)

Код: Выделить всё

<?php

code from action 

Yii::$app->params['uploadPath'] = Yii::$app->basePath . '/images/';
        $model = new UploadForm();
        if (Yii::$app->request->isPost) {
            $model->load(Yii::$app->request->post());
            $model->file = UploadedFile::getInstance($model, 'file');
            var_dump($model);
            die();
            if ($model->validate()) {
                $model->file->saveAs(Yii::$app->params['uploadPath'] . $model->file->baseName . '.' . $model->file->extension);
                
            }
        }

        return $this->render('upload', ['model' => $model]);
        
   <?php
use yii\widgets\ActiveForm;

$form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>

<?= $form->field($model, 'file')->fileInput() ?>

    <button>Submit</button>

<?php ActiveForm::end(); ?>


<button class="js-add-image">Add</button>
<?php
        $this->registerJs("
            $(document).ready(function() {
                $('.js-add-image').on('click', function() {
                    $.ajax({
                        url: 'path/to/'',
                        type: 'POST',
                        data: $('form').serialize(),
                        dataType: 'json',
                        success: function(data) {
                            console.log(data);
                        }
                    });
                });
            });
        ");
?>
Ответить