我很困惑这一个......我正在做一个远程widgety类型的设置,我们将控制这两个域,所以安全不是一个问题。我使用jsonp来允许跨域Ajax请求。跨域AJAX和PHP会话
的访问的网站是domain1.com,其中inclues:
<script src="domain2.com/file.js"></script>
file.js用了jQuery使Ajax请求:
$.ajax({
url: 'http://domain2.com/getdata',
dataType: 'jsonp',
success: function(response) {
div.html(response);
}
});
它要经过几个这些步骤在一定程度上的向导,使用来自远程服务器的html重新加载div。
我遇到的问题是,在每个ajax请求,我得到一个新的PHP会话ID和我的会话数据消失。事情的PHP结束是好的,如果我从同一个域运行相同的脚本(仍然使用jsonp),一切正常。然而,从远程域执行它,并且会话不会停留。我不知道这是为什么,PHP的最终目标是设置并从它自己的域请求一个cookie。我不需要从JS访问cookie。 Cookie正在写入并保存在服务器上。但是,当我检查浏览器中存储的cookie时,每个请求都会改变会话ID。
任何想法?
您是否尝试了其他浏览器? – woody993 2010-01-21 01:00:17