Задать вопрос
@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) случае?
  • Вопрос задан
  • 1264 просмотра
Подписаться 2 Средний 7 комментариев
Помогут разобраться в теме Все курсы
  • HTML Academy
    Vue.js 3 — разработка клиентских приложений
    1 месяц
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • Stepik
    Frontend разработчик на HTML, CSS и JavaScript
    4 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@EvgMul
Попробуйте указать
$this->enableCsrfValidation = false;
В beforeAction контроллера или в конкретном методе экшена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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