当我发出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。
我只能找到其他人谈论跨域问题,但这不是跨域...我很困惑! 请帮助!
答案 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