Laravel 项目使用 ajax

JellyBool

JellyBool

由于 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')

        }

});

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

Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('content');


new Vue({

   el: '#container'

});
本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 3 条评论

ButcherQ
修改的评论也不能少于六个字哦!
JellyBool 回复 ButcherQ
修改的评论也不能少于六个字哦!
basketballjhk
修改的评论也不能少于六个字哦!
JellyBool 回复 basketballjhk
修改的评论也不能少于六个字哦!