跨域访问nodejs,ie获取不到cookie
发布于 12 年前 作者 xtok123 10767 次浏览 最后一次编辑是 8 年前

php通过ajax访问nodejs,生成cookie,在chrome,firefox里正常,但是在ie里获取不到 可以通过设置ie隐私,接受所有cookie解决

enter image description here

查了下原因,应该跟这个类似 http://blog.csdn.net/sunqinye/article/details/7849074

就是IE加入了以PlatformforPrivacyPreferences(P3P)为基础的 隐私保护功能,阻止第三方cookie,当第三方站点试图读写cookie时,IE就会自动拦截。

解决办法: php的话,加上: header(‘P3P: CP=CAO PSA OUR’);

ASP.NET的话,加上: Response.AddHeader(“P3P”, “CP=CAO PSA OUR”)或者在Window服务中将ASP.NET State Service 启动。

JSP: response.setHeader(“P3P”,“CP=CAO PSA OUR”)

ASP直接在头部加了头部申明: <%Response.AddHeader “P3P”, “CP=CAO PSA OUR”%>

那这个在nodejs里怎么解决呢????

2 回复

在node里有一个方法是response.setHeader(),你可以试一下

谢谢,搞定了,我用的express

res.setHeader("P3P","CP=CAO PSA OUR");
回到顶部