Задать вопрос
@makarov1991

Как избавиться от ошибки 400 bad request в Yii2?

Добрый день. Ошибка возникает при ajax запросе.

Мне нужно подружить vue + yii2 (где vue работает как библиотека)

вот код
new Vue({
    el: '#app',
    data(){
        return {}
    },
    methods : {
        send(){
            const data = {
                data :{ },
                _csrf : yii.getCsrfToken()
            }
        
            this.\$http.post('/client/analytics/test',data).then(response => {
                console.info(response);
            })
        }
    }
});


Получаю ошибку
5dd8ef7adb9ca227793601.jpeg

При этом, для "теста" тоже самое делаю через Jq и всё работает
$.ajax({
            url: '/client/analytics/test',
            type: 'post',
            data: {
                data: 'Hello',
                _csrf : yii.getCsrfToken()
            },
            success: function (data) {
                data = JSON.parse(data);
                console.log(data);
            }
        });


Примечание: я не хочу отключать проверку на стороне сервера, используя $this->enableCsrfValidation = false;

Как думайте, в чём причина 400 bad request в Yii2 в моём (vue) случае?
  • Вопрос задан
  • 1080 просмотров
Подписаться 2 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
@EvgMul
Попробуйте указать
$this->enableCsrfValidation = false;
В beforeAction контроллера или в конкретном методе экшена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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