POST-запрос Vuejs Axios получает ошибку HTTP422 от бэкэнда Laravel - PullRequest
0 голосов
/ 12 мая 2019

Привет, я использую Vuejs во внешнем интерфейсе и Laravel во внутреннем.Роль Laravel заключается только в обработке API.Интерфейс и бэкэнд разделены, то есть я не использую Vuejs в папке resource/js Laravel.

Теперь я отправляю POST-запрос Axios из Vuejs в Laravel.Все входные значения формы предварительно проверяются с использованием атрибута HTML5 required.И когда я console.log запрашиваю данные, он показывает все заполненные поля.

В файле Vue:

const data = {
   name: this.name,
   gender: this.gender,
   mobile_no: this.mobile_no,
   image: this.userImage
};
console.log("Request data . . . .", data);

const response = await this.axios
   .post(`${this.AppURL}/admin/user/create`, data, {
        headers: {
          "Content-Type": "multipart/form-data"
        }
   })
   .then(() => {
        console.log("Success. . . . ")
           alert("Successfully Driver Added");
        })
   .catch(error => console.log(error));

А в Laravel запрос проходит некоторую проверку.Это простая проверка, чтобы проверить, все ли поля заполнены.Я также использую JWTAuth пакет для аутентификации, и токен генерируется им.Это слишком много кода, чтобы написать их здесь.Но я уверен, что вы понимаете, что я имею в виду.

В ответ я получаю следующее:

POST http://localhost:8000/api/admin/user/create 422 (Unprocessable Entity)

Фактический результат, который я должен получить, это либо success, либоerrors, что соответствует некоторым if условиям проверки или токена.Я попытался выяснить, откуда может возникнуть эта ошибка.Сейчас я думаю, что это может быть связано с отсутствием csrf_token в запросе POST.Поскольку я отправляю запрос за пределы Laravel, в форме отсутствует csrf_token.Хотя я не уверен на 100% в этом.

Так что мой вопрос:

  1. Как включить csrf_token в запрос POST Axios, когда Я отправляю его извне Laravel.

  2. Если это 422 error не связано с csrf_token, что может быть причиной?Любые предыдущие опыты, как мин?и какие-либо решения для этого?

Заранее спасибо за вашу помощь.

...