【问题标题】:send cookies to another web page with javascript使用 javascript 将 cookie 发送到另一个网页
【发布时间】:2012-01-31 10:39:38
【问题描述】:

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

【问题讨论】:

    标签: javascript cookies


    【解决方案1】:

    如果您想在浏览器中执行此操作,或者如果您可以调用 domain2 的服务器(并控制它),请使用跨文档消息传递(将 domain2 嵌入 iframe 并在 domain1 网站和 domain2 之间进行通信),您可以使用 Cross-源头资源共享。

    如果您希望它适用于旧版浏览器,您会在本博文(我的博文)顶部找到几个库来实现这种通信在浏览器内进行: 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/

    【讨论】:

      【解决方案2】:

      您不能将 cookie 发送到不同的域。看看这个以获得更多细节:

      【讨论】:

      • 当然可以,您只需要读入cookie值,将其序列化为字符串并使用JSONP发送即可。虽然不是最优雅的解决方案。
      • 我的意思是我们不能将 cookie 从一个域更改或共享到另一个域,但关于发送它们你绝对正确:-)
      【解决方案3】:

      我过去曾使用 JSONP 完成此操作。它适用于所有浏览器。

      只需读取 cookie 值,制作 JSON 字符串并将其发送出去。

      有关一些示例,请参阅 http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

      【讨论】:

        猜你喜欢
        • 2016-09-23
        • 2017-08-05
        • 2010-09-22
        • 1970-01-01
        • 1970-01-01
        • 2019-04-11
        • 1970-01-01
        • 1970-01-01
        • 2020-10-12
        相关资源
        最近更新 更多