我尝试使用VueJS 1.0.28进行POST,但我收到了Laravel 5.3 TokenMismatchException
错误。
这是app.js
以涵盖jQuery和Vue:
Vue.http.interceptors.push((request, next) => {
request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken);
next();
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
这是main.blade.php
布局,我们实例化Laravel
值:
<script src="{!! asset('/js/app.js') !!}"></script>
<script>
(function () {
window.Laravel = {
csrfToken: '{{ csrf_token() }}'
};
})();
</script>
当我查看POST请求中的标题时,我没有看到Vue中包含的X-CSRF。
这是jQuery的超级基本内容,而且我在Vue方面错误配置了一些问题。想法?
答案 0 :(得分:1)
axiosDefaults.headers.common['X-CSRF-Token'] = csrfToken;
答案 1 :(得分:0)
事实证明,Vue和jQuery都获得了令牌,但我使用的包代码是直接使用XMLHttpRequest
所以它需要手动获取令牌:
xhr.setRequestHeader('X-CSRF-TOKEN', Laravel.csrfToken);