我试图使用axios和最后一个Laravel版本5.5发出一些请求 配置X-CSRF字段后全部 我的代码很简单:
axios.post('/post-contact',{name:'Kamal Abounaim'})
.then((response)=>{
console.log(response)
}).catch((error)=>{
console.log(error.response.data)
})
但我收到此错误:419(未知状态) 应该是什么问题 谢谢你的回答
答案 0 :(得分:9)
由于csrf-token,这种情况正在发生。只需在<head>
中添加带有csrf-token的元标记,然后将该标记添加到axios标头中。
// in the <head>
<meta name="csrf-token" content="{{ csrf_token() }}">
<script type="text/javascript">
// For adding the token to axios header (add this only one time).
var token = document.head.querySelector('meta[name="csrf-token"]');
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
// send contact form data.
axios.post('/post-contact',{name:'Kamal Abounaim'
}).then((response)=>{
console.log(response)
}).catch((error)=>{
console.log(error.response.data)
});
</script>
答案 1 :(得分:0)
A 419 error seems to be Authentification Timeout。你的代码看起来很好,所以似乎错误是post-contact
端点?尝试使用postman.
答案 2 :(得分:0)
这是VerifyCsrfToken中间件...... 只需评论它 应用程序/ HTTP / Kernel.php
protected $middlewareGroups = [
'web' => [
.. middlewares before
//\App\Http\Middleware\VerifyCsrfToken::class, -> comment this or delete
.. other
],
'api' => [
'throttle:60,1',
'bindings',
],
];
我有同样的问题,感谢@abdalla arbab:)