Привет, я использую 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% в этом.
Так что мой вопрос:
Как включить csrf_token
в запрос POST Axios, когда Я отправляю его извне Laravel.
Если это 422 error
не связано с csrf_token
, что может быть причиной?Любые предыдущие опыты, как мин?и какие-либо решения для этого?
Заранее спасибо за вашу помощь.