Yii2 AJAX рендеринг изображения после вызова - PullRequest
0 голосов
/ 12 апреля 2019

Так что в основном у меня есть контроллер, который обрабатывает файлы (изображения и видео), и в представлении «просмотр» у меня есть кнопка, которая называется «просмотр содержимого».Эта кнопка использует контроллер actionContent($id), и я хочу, чтобы при нажатии она запускала вызов AJAX для действия и отображала на странице в div изображение, которое находится в модели с id == $id.Как я могу обработать запрос AJAX и вернуть изображение, отображаемое в div?

public function actionContent($id)
    {
        $model = $this->findModel($id);
        switch (substr($model->mime, 0, strpos($model->mime, '/'))) {
            case 'image' :
                return $this->renderAjax('_image', [
                    'img' => $model->getFullPath(),
                ]);
                break;
            default:
                break;
        }
    }

И в представлении:

 <span class="pull-right">
            <?= Html::a('View Content', ['content', 'id' => $model->id], [
                'class' => 'btn btn-default',
                'id' => 'content'
            ]); ?>
        </span>

С помощью сценария, который я уже пробовал:

 $(document).ready(function () {
        $('#content').click(function () {
            $(this).preventDefault();
            $.ajax({
                type: "GET",
                url: $(this).href,
                contentType: "<?= $model->mime?>",
                success: function (response) {
                    ('.show-content').html('<img src="data:image/png;base64,' + response + '" />');
                }
            })
        })
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...