在ajax / load请求之后cookie不可见

时间:2013-04-05 11:20:14

标签: php ajax cookies cross-domain

我有以下问题:

在一个页面上,我使用php显示一些文章并从数据库中获取它们。这些文章有两种显示类型:每日和每小时。显示类型存储在cookie中。

问题在于每当我使用无限滚动和ajax加载其他文章时,不会使用cookie。如果我回应他们我收到一个空字符串。此外,当从每小时视图更改为每日视图时,同样的问题也会出现。

为了添加额外的帖子我使用jquery帖子和加载不同的显示视图我使用jquery.load()

我知道有一个交叉来源政策,但我通过添加htaccess

来修复它
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

编辑: 我也将网站安装在另一台可以正常工作的服务器上。我注意到在好的服务器上,ajax请求也发送了“设置”cookie。在坏服务器上只发送了“PHPSESSID”cookie。

1 个答案:

答案 0 :(得分:0)

好吧,似乎问题是www 请求是从www.mydomain.com到mydomain.com 我通过添加网址

中的完整路径来修复它
$.ajax({
   url: "www.mydomain.com/ajax.php",
   success: function() ...
});

 SITE_URL = "http://www.mydomain.com";
 $('#wrapper').load(SITE_URL 'index.php?lang='+langSite+' #wrapper', function(data){ ...