在ajax/加载请求后不可见cookie


Cookies not visible after ajax/load request

我有以下问题:

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

问题是,每当我加载额外的文章使用无限滚动和ajax的cookie不采取。如果我回显它们,我将收到一个空字符串。当从小时视图切换到日视图时,也会出现同样的问题。

为添加额外的post,我使用jquery post和加载不同的显示视图,我使用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

看来问题出在WWW上请求是从www.mydomain.com发送到mydomain.com的我通过在url

中添加完整路径来修复它。
$.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){ ...