Cookie值在ajax php脚本中为空

时间:2016-02-18 22:18:28

标签: php ajax cookies

当我发出jQuery AJAX请求时,cookie显示为空。我尝试设置一个会话而且有效但我希望这是一个cookie而不是一个会话。它不是跨域的,只存储一个简单的1个字符。我想检索号码,做一些事情,然后更新号码。当然我可以使用会话,但我希望这是一个cookie。

setcookie("currentResult", "", time()+60*60*24*30*12, "/", "*(mysite)**.com", 0,1);

然后我在我的脚本中添加一个值,就像这个

$_COOKIE["currentResult"] = $ii;

然后当我调用这样的AJAX php脚本时;

 jQuery.ajax({
  type: "POST",
    url: "****(myscriptname.php)****",
     dataType: "html",
 data:  "start=" +start,
 success: function(data)
    {
      dataq = jQuery.trim(data);




    }  }); 

但是,该脚本中的cookie是空的。 我在页面上回应它并且设置正常并且没有问题。

我测试了与会话完全相同的事情,并且会话在AJAX脚本中。我似乎只有饼干的问题。

这是我尝试在ajax请求中使用的任何cookie。

我只能找到其他人谈论跨域问题,但这不是跨域...我很困惑! 请帮助!

2 个答案:

答案 0 :(得分:0)

看看第7个参数...... 1 =不要让javascript看到这个cookie

  

<强>仅Http
  如果为TRUE,则只能通过HTTP协议访问cookie。这意味着cookie无法通过脚本语言(例如JavaScript)访问。有人建议这种设置可以通过XSS攻击有效地帮助减少身份盗用(尽管并非所有浏览器都支持),但这种说法经常受到质疑。在PHP 5.2.0中添加。 TRUE或FALSE

答案 1 :(得分:0)

以下是解决方案!谢谢布拉德!

改为; setcookie(“currentResult”,“”,time()+ 60 * 60 * 24 * 30 * 12,“/”,“*(mysite)**。com”,0,0);它固定了!

  

看看第7个参数... 1 =不要让javascript看到这个cookie

的HttpOnly 如果为TRUE,则只能通过HTTP协议访问cookie。这意味着脚本语言(例如JavaScript)无法访问cookie。有人建议这种设置可以通过XSS攻击有效地帮助减少身份盗用(尽管并非所有浏览器都支持),但这种说法经常受到质疑。在PHP 5.2.0中添加。 TRUE或FALSE