Php Laravel(5.2)API请求上的令牌不匹配
所以我有一个有趣的问题,据我所知,我做的事情是正确的,API请求的令牌不匹配问题是如何出现的 考虑以下几点: sendPostData(){ 设params={ 标题:this.state.post_标题, 内容:this.state.post_内容, 标签:this.state.tags, 类别:this.state.categories, blog_id:this.props.blogId, }) } 当我Php Laravel(5.2)API请求上的令牌不匹配,php,ajax,laravel,laravel-5.2,Php,Ajax,Laravel,Laravel 5.2,所以我有一个有趣的问题,据我所知,我做的事情是正确的,API请求的令牌不匹配问题是如何出现的 考虑以下几点: sendPostData(){ 设params={ 标题:this.state.post_标题, 内容:this.state.post_内容, 标签:this.state.tags, 类别:this.state.categories, blog_id:this.props.blogId, }) } 当我console.log($('meta[name=“csrf token”]').at
console.log($('meta[name=“csrf token”]').attr('content'))
我得到一个令牌字符串,因此没有问题
当我发布到有问题的URL时,我得到:
TokenMismatchException in VerifyCsrfToken.php line 67:
根据这些,我做的事情是正确的。。。我想
想法?我可能弄错了,但我认为在AJAX请求中应该是headers,而不是header。我可能弄错了,但我认为在AJAX请求中应该是headers,而不是header。您应该发送csrf令牌值“headers”块而不是“header”ajax中的块,如下所示:
$.ajax({
url: this.props.urlToPostTo,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: params,
dataType: 'json'
}).done((data) => {
console.log(data);
});
在ajax中,您应该发送csrf令牌值“headers”块,而不是“header”块,如下所示:
$.ajax({
url: this.props.urlToPostTo,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: params,
dataType: 'json'
}).done((data) => {
console.log(data);
});