跨域访问nodejs,ie获取不到cookie
php通过ajax访问nodejs,生成cookie,在chrome,firefox里正常,但是在ie里获取不到 可以通过设置ie隐私,接受所有cookie解决
查了下原因,应该跟这个类似 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");