Laravel项目使用ajax,并且验证token值

Laravel项目使用ajax,并且验证token值

由于 Laravel 本身的 csrf 的保护机制,在 Laravel 项目中使用 ajax 的时候需要提供相对应的token,那么这个时候,基本推荐的解决方案是这样的:

1.在视图文件的 head 部分包含一个 meta,用来保存 token 的值:

<meta name="csrf_token" id="token" content="{{ csrf_token() }}">

2.在使用 ajax 的时候就通过js获取到上面的 token 值,传给 Laravel 相对应的路由: JQuery 的通常写法:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf_token"]').attr('content')
    }
});

3.Vuejs 的通常会使用 Vue-resource,写法是这样:

Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('content');
new Vue({
   el: '#container'
});