YII2 как передать запрос посредством AJAX

164
18 марта 2019, 22:00

Нужно передать массив идшников посредством AJAX в php, но в консоли вылезает ошибка 400 (неверные параметры)

Написал такой код на js:

        var xhr = new XMLHttpRequest();
        var body = JSON.stringify({
            id: checkedInputTagsArray //массив идшников
        });
        console.log(body);
        xhr.open('POST', '/products/' + action , true); //action - параметр функции
        xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
        xhr.send(body);

Код на php:

    $request = Yii::$app->request;
    if (!$request->isAjax) {
        return "not ajax";
    }
    $json = json_encode($request->getBodyParams());
    return $json;

Да, он ничего не делает, но мне бы сначала установить подключение и посмотреть, передаются ли данные.

Есть вообще разница между open(..., /model/action) и open(..., http://host/model/action)? Просто с хостом у меня дебагер не отображает запросы аякс...

Answer 1

необходимо было отключить csrf валидацию и добавить Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; в соответствующий экшен

READ ALSO
Перевернуть строку в PHP

Перевернуть строку в PHP

Как перевернуть строку? Было Привет - стало тевирПСтандартную функцию не предлагать - strrev() не работает с кодировкой utf-8

196
Laravel .htaccess

Laravel .htaccess

Есть стандартный чистый проект Laravel 5x, установленный на XAMPP и лежащий в директории htdocs(localhost)

146
Как извлечь данные php

Как извлечь данные php

На сайте wordpress c использованием плагина woocomerce в момент формирования заказа я получаю переменную

174
Удаление и добавление элемента массива

Удаление и добавление элемента массива

Как в статическом массиве удалить элемент, индекс которого кратен 3 и добавить элемент после отрицательного элемента? 3 день не получается...

161