首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用easyxdm读取跨域Cookie数据

使用easyxdm读取跨域Cookie数据
EN

Stack Overflow用户
提问于 2014-02-13 21:29:58
回答 1查看 1.6K关注 0票数 0

我有两个域- domain1.com和domain2.com -其中domain1.com是我的父站点,domain2.com是子站点。我正在domain1.com上设置cookie,但是domain2.com需要访问这些cookie。

我对这个话题做了大量的研究-- JSONP,CORS,随便选什么。EasyXDM似乎提供了一个很好的解决方案。domain2.com和domain1.com之间的消息传递工作正常,但是某些浏览器,即Chrome和IE,没有读取cookie,因此传递空白数据。

Domain1.com有一个名为status.php的页面,其数据如下:

代码语言:javascript
复制
<?php
    $guid = $_COOKIE['user_guid'];
?>

<!doctype html>
<html>
    <head>
        <title>easyXDM.Transport test</title>
        <script type="text/javascript" src="/js/easyxdm/easyXDM.debug.js"></script>
    </head>
    <body>
        <script>
        var socket = new easyXDM.Socket({
            onReady: function() {
                socket.postMessage('<?php echo $guid; ?>');
            }
        });
        </script>
    </body>
</html>

Domain2.com有以下设置,可以从domain1.com接收消息:

代码语言:javascript
复制
var socket = new easyXDM.Socket({
    remote: "http://domain1.com/status.php",
    onMessage: function(message, origin)
    {
        alert("Received '" + message + "' from '" + origin + "'");
    }       
});

这就像FireFox中的冠军一样,但是Chrome和IE返回的是一个空字符串,而不是cookie数据。有人能用这个把我推向正确的方向吗?我不能在两个域上设置cookie,我只需要能够以任何必要的方式从第一个域获取ID。谢谢!

按照注释中的要求,以下是域2的完整代码:

代码语言:javascript
复制
<!doctype html>
<html>
    <head>
        <title>Domain 2</title>
        <script type="text/javascript" src="/js/easyxdm/easyXDM.debug.js"></script>
    </head>
    <body>
        <script>
        var socket = new easyXDM.Socket({
            remote: "http://domain1.com/status.php",
            onMessage: function(message, origin)
            {
                alert("Received '" + message + "' from '" + origin + "'");
            }       
        });
        </script>
        <p>Hello World!</p>
    </body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-20 14:44:32

用xdomain代替:https://github.com/jpillora/xdomain解决了这个问题

易于实现,解决了跨域数据的问题。这远非完美,但除非CORS得到更好的支持,旧的浏览器也不再出现,否则它是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21765890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档