社区首页 >问答首页 >如何在Laravel中使用jQuery ajax请求自动添加X令牌

如何在Laravel中使用jQuery ajax请求自动添加X令牌
EN

Stack Overflow用户
提问于 2018-12-08 09:12:35
回答 1查看 8.2K关注 0票数 4

如何使用我的Laravel应用程序的ajax请求(GET或POST)自动添加csrf令牌,而无需手动将其添加到每个请求中。

我的ajax请求

代码语言:javascript
代码运行次数:0
复制
   $.ajax({
      type:'post',
      url: "/email/unique",
      data: { "_token": "{{ csrf_token() }}", "email": email }
      success: function(data) {
        console.log(data);
      }
   });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-08 09:12:35

在Laravel中,默认情况下,csrf元标记的值与Axios库一起注册。但是,如果您是,不使用此库,则需要为应用程序手动配置此行为。

为此,请将令牌存储在HTML元标记中。

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

然后,一旦创建了元标记,就可以指示jQuery库将令牌自动添加到所有请求头中。

为此,将代码添加到resources/js/bootstrap.js文件中,用于Laravel 5.7resources/assets/js/bootstrap.js用于Laravel 5.6及更低版本。

代码语言:javascript
代码运行次数:0
复制
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

不使用csrf令牌的Ajax,因为它将自动添加

代码语言:javascript
代码运行次数:0
复制
$.ajax({
      type:'post',
      url: "/email/unique",
      data: { "email": email }
      success: function(data) {
        console.log(data);
    }
 }); 
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53684928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文