使用JavaScript将Cookies发送到另一个网页

4

我该如何使用JS将页面上的cookie发送到另一个页面?
例如,我有两个页面:
1 - www.domain1.com/admin.php
2 - www.domain2.com/getCookies.php
我该如何从admin.php发送cookie到getCookies.php,并以以下形式获取它们:
getCookies.php?name=x&val=y
其中x是cookie名称,y是x的值。

3个回答

1

如果您想在浏览器中实现此功能,可以使用跨文档通信(将domain2嵌入iframe并在domain1网站和domain2之间通信),或者如果您可以调用domain2的服务器(并控制它),则可以使用跨源资源共享。

如果您希望在旧版浏览器中使用此类通信,则可以在我的博客文章顶部找到几个库: http://softwareas.com/cross-domain-communication-with-iframes

如果您不担心旧版浏览器,您只需要将cookie数据发送出去: document.getElementById("iframe").contentWindow.postMessage(cookieData, 'domain1.com');

有关更多详细信息,请参见John Resig的文章: http://ejohn.org/blog/postmessage-api-changes/


1

当然可以做到,你只需要读取 cookie 值,将其序列化为字符串并使用 JSONP 发送即可。不过这并不是最优雅的解决方案。 - Razor
我的意思是我们不能在不同的域之间更改或共享cookie,但是关于发送它们,你绝对是正确的 :-) - Qorbani

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接