header中加入参数

$.ajax({
type: 'post',
async: true,
url: url,
dataType: "json",
data: param,
success: function (result) {
backFun(result);
},
beforeSend: function(xhr) {
xhr.setRequestHeader("token",sessionStorage.token);
},
error: function (XMLResponse) {
if(XMLResponse.status==401){
showAlert("token失效,请重试");
//getToken();可以去重新获取token
sessionStorage.clear();
this.$router.push({path:'/loginPage'});
}else{
showAlert("请求失败,请重试");
}
return false;

}

});

2.在web.config的<system.webServer>中需要配置

<!--跨域请求-->
<httpProtocol>
 <customHeaders>
   <add name="Access-Control-Allow-Headers" value="Content-Type, api_key, Authorization,token" />
   <add name="Access-Control-Allow-Origin" value="*" /><!--允许访问的网站-->
   <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /><!--支持的http动作-->
   <add name="Access-Control-Request-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /><!--允许请求的http 动作-->
</customHeaders>
</httpProtocol>

3.后台需要拦截一下OPTIONS请求

在headers加入中加入字段后,http会先发一个options请求,请求成功后才会执行真正的post请求,所以后台需要截获OPTIONS请求,不用做处理,直接通过就可以。


没有更多推荐了,返回首页