我在下一个域有两个应用程序: www.bar.com和www.foo.bar.com。第二个应用程序通过第一个应用程序(使用跨域请求)进行授权,在此之后,我将cookie设置为browser,而在Internet中,它不工作:
$.cookie("SESSION_KEY", loginResult.sessionKey, {
expires: 365,
path: "/",
domain: ".bar.com"
});该代码适用于所有浏览器,但cookie不设置的v.9除外。我怎么才能修好它?
发布于 2013-04-02 13:26:42
这是由于IE设置。从Tools菜单中选择Internet Options。导航到Security选项卡。选择Internet并单击Custom Level打开安全设置。
定位Miscellaneous设置。尝试启用Access data sources across domains。您可能需要重新启动IE才能使设置生效。
发布于 2016-09-06 08:20:49
IE作为市场上仅有的一个web浏览器,实现了部分的P3P标准(这是关于在CORS中接受cookies的)。
因此,您可以使用服务器响应设置cookies要做到这一点,您必须在服务器响应(设置cookie)中设置此标头(我从我的PHP项目复制-粘贴下面一行):
$response->headers->set('P3P', 'CP="random_text"');您还必须记住在CORS请求中添加标志'withCredentials=true‘(在其他情况下,任何cookie都将从请求/响应中发送/保存)。
https://stackoverflow.com/questions/15764850
复制相似问题