gpt4 book ai didi

jquery - 使用跨域ajax时的第3方cookie问题

转载 作者:行者123 更新时间:2023-12-01 07:25:38 26 4
gpt4 key购买 nike

我有一个 jquery 小部件,可以从另一个域中的服务器获取数据(使用 JsonNp)。服务器从 session 返回数据。我的问题发生在 Safari 中(其他浏览器也可以)。当我向服务器发出请求时,它每次都会返回新 session 的数据。发生这种情况是因为 session ID 存储在 cookie 中(但 safari 默认情况下不允许保存第 3 方跨域 cookie)。

我尝试将 session 状态从Cookieless更改为自动检测,但该 session 不适用于 Safari。

我还尝试了以下技巧,但由于某些原因它对我不起作用:

$(function(){
$('body').append('<iframe id="cookiesHackFrame" name="cookiesHackFrame" src="http://mysite.com/" style="display:none;"></iframe>');
$('body').append('<form id="cookiesHackForm" action="http://mysite.com/" method="post" target="cookiesHackFrame" >');
$('#cookiesHackForm').submit();
});

最佳答案

嗯...由于 Safary 阻止了第 3 方跨域 cookie...没有办法解决...任何解决方案都会“破坏”安全策略...这不太可能发生,有无非就是两种解决方法:1)更改浏览器设置...但是这是用户可以做的事情...而不是服务器,因此一旦检测到问题,可能会提醒用户更改安全设置。

2) 3d方服务器将要放入cookie中的信息发送到主服务器,然后主服务器发出cookie。这样就避免了跨域。两个服务器可以通过 Web 服务进行通信(效率不是很高……但可以)。

关于jquery - 使用跨域ajax时的第3方cookie问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com