【问题标题】:Cookies not visible after ajax/load requestajax/load 请求后 cookie 不可见
【发布时间】:2013-03-27 18:56:42
【问题描述】:

我有以下问题:

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

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

为了添加额外的帖子,我使用 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 正在发送。

【问题讨论】:

    标签: php ajax cookies cross-domain


    【解决方案1】:

    好吧,看来问题是 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){ ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      相关资源
      最近更新 更多