java 写入cookie_Java设置domain后,写入cookie失败问题

当Java后台设置的Cookie在浏览器中未显示时,可能是因为跨域问题。通过在jQuery的ajax请求中设置xhrFields的withCredentials为true和crossDomain为true,可以允许跨域请求并成功写入Cookie。这种方法适用于处理后台设置正确但仍然无法显示Cookie的跨域情况。
摘要由CSDN通过智能技术生成

Java后台写入cookie时,浏览器cookie视图显示为空,仔细查看后台设置参数都是正确的,于是猜测可能是跨域的问题,尝试在请求中加入跨域参数,写入成功。

首先解释两个字段:

1、xhrFieldsObject类型1.5.1 新增

一个具有多个"字段名称-字段值"对的对象,用于对本地XHR对象进行设置。一对「文件名-文件值」在本机设置XHR对象。例如,如果需要,你可以用它来为跨域请求设置XHR对象的withCredentials属性为true。

$.ajax({

url: a_cross_domain_url,

// 将XHR对象的withCredentials设为true

xhrFields: {

withCredentials: true

}

});

2、crossDomainBoolean类型1.5 新增

默认值:同域请求为false,跨域请求为true。指示是否是跨域请求。如果你想在同一域中强制跨域请求(如JSONP形式),请设置为true。例如,这允许服务器端重定向到另一个域。

3、ajax发送请求至后台

$.ajax({

type : "GET",

url : "URL",

data :request,

xhrFields: {

withCredentials: true

},

crossDomain: true,

dataType : "json",

success : function(rs) {

window.location.href = "index.html";

}

});

设置完毕发送请求,cookie写入成功。刚开始以为是后台的问题,纠结很久。遇到类似问题可以尝试一下。

4、赋jQuery.ajax()函数详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值