在ajax请求后台时在请求标头RequestHeader加token

Posted 程序员之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ajax请求后台时在请求标头RequestHeader加token相关的知识,希望对你有一定的参考价值。

情景:为了保证系统数据的安全性,一般前后台之间的数据访问会有授权与验证,这里的Token机制相对于Cookie支持跨域访问,在RESTful API里面,验证一般可以使用POST请求来通过验证,使服务端发送带有token的响应。或者,使用GET请求,这需要参数提供凭证(指URL),或者请求头里带有token。

此处为上述的第二种方法:在ajax请求的标头中加Token

1 var str = sessionStorage.getItem("userInfo");
2 var currUser = JSON.parse(str);
3 var userId = currUser["userID"];
4 var token = \'Bearer \' + currUser.token;

获得浏览器存储的用户信息 和 授权的Token

复制代码
 1 function GetDateForServiceCustomer(userId) {
 2     $.ajax({
 3         url: \'http://*******/api/orders\',
 4         data: {
 5             currUserId: userId,
 6             type: 1
 7         },
 8         beforeSend: function(request) {
 9             request.setRequestHeader("Authorization", token);
10         },
11         dataType: \'JSON\',
12         async: false,//请求是否异步,默认为异步
13         type: \'GET\',
14         success: function (list) {
15         },
16         error: function () {
17         }
18     });
19 }
复制代码

 

以上是关于在ajax请求后台时在请求标头RequestHeader加token的主要内容,如果未能解决你的问题,请参考以下文章

在 jQuery AJAX GET 调用中传递请求标头

如何在 Jquery Ajax 中向请求添加标头?

允许跨域 ajax 请求中的标头

在 IE10 的 AJAX CORS 请求中添加自定义标头时,CORS 请求中止

浏览器在 ajax 请求上发送 Origin 标头,但不是通过简单的 HTTP Get 请求。为啥?

Chrome 扩展:如何更改 AJAX 请求标头中的来源?