最近在做一个前后端分离的需求,要在client要携带token访问server时,server生成一个sessionID来标识客户端的唯一性。
但是前后端分别部署在不同的服务器域名下,这样前端请求server端无法自动携带cookies到server端。
基本流程
在发送请求时增加 xhrFields: { withCredentials: true },crossDomain: true, 就可以自动携带cookies到server端了。
$(document).ready(function(){
//点击测试
$("#test_btn").on('click',function () {
$.ajax({
type: "POST",
url: "http://localhost:2020/webox-h5/api/web/recharge/get",
data: JSON.stringify({ 'token': '20200612802347456049235004252160' }),
dataType: 'json',
contentType:"application/json",
//凭据字段
xhrFields: {
withCredentials: true
},
//跨域设置为true
crossDomain: true,
async:false,
success: function (data) {
alert(JSON.stringify(data))
},
error: function (data) {
alert('req error!'+data);
}
});
})
});