Я пытался отправить запрос на отправку с помощью axios контроллеру моих проектов, и я получаю сообщение об ошибке 419 (неизвестный статус).Хотя я передаю CSRF через заголовки в контроллер.Когда я захожу во вкладку сети после публикации, она говорит:
X-CSRF-TOKEN: undefined
X-Requested-With: XMLHttpRequest
Однако, когда я console.log (window.csrf_token) возвращает токен.
Это включено в мой макет.blade.php
<script type="text/javascript">
window.csrf_token = "{{ csrf_token() }}"
</script>
Я определяю заголовки в своем app.js для vue:
const axios = require('axios');
axios.defaults.headers.common = {
'X-CSRF-TOKEN': window.csrf_token,
'X-Requested-With': 'XMLHttpRequest',
};
, а в моих проектах.vue вот мой пост-запрос axios:
Swal.queue([{
title: 'Add a New Project?',
input: 'text',
inputAttributes: {
autocapitalize: 'on'
},
showCancelButton: true,
confirmButtonText: 'Create Project',
showLoaderOnConfirm: true,
preConfirm: (result) => {
return new Promise(function(resolve, reject) {
if (result) {
console.log(result)
axios.post('/api/projects', {title:result})
.then(function(response){
Swal.insertQueueStep({
type: 'success',
title: 'Your project has been created!'
})
resolve();
})
.catch(function(error){
Swal.insertQueueStep({
type: 'error',
title: 'Something went wrong.'
})
console.log(error);
reject();
})
}
});
}
}])
, а также метод store в ProjectsController.php
public function store()
{
$validated = request()->validate([
'title' => 'required',
]);
Project::create($validated);
return response()->json($validated);
}