Javascript 未找到Cookie,即使它存在

Javascript 未找到Cookie,即使它存在,javascript,Javascript,我有一个非常奇怪的问题,我正在寻找任何可能的想法。我有一个基于是否在客户机上找到cookie加载的立交桥。在天桥上有一个“不谢谢”复选框,上面写着“不再显示”。我检查是否已在立交桥页面中进行了如下检查: $(document).ready(function() { jQuery(window).bind("beforeunload", function(){ setCookieFO('noShowMerkleCpn','true',180); }); }); function s

我有一个非常奇怪的问题,我正在寻找任何可能的想法。我有一个基于是否在客户机上找到cookie加载的立交桥。在天桥上有一个“不谢谢”复选框,上面写着“不再显示”。我检查是否已在立交桥页面中进行了如下检查:

$(document).ready(function() {
jQuery(window).bind("beforeunload", function(){ setCookieFO('noShowMerkleCpn','true',180);       });
}); 

function setCookieFO(c_name,value,exdays){
if($('#noThanks').attr('checked') ){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}else{
}
} 
我已经在Firebug中运行了代码,并验证了cookie是否在文档卸载时保存。我甚至可以在我的饼干里找到饼干。下面是我检查cookie的方法:

function runFancyBox(){
var idx = document.cookie.indexOf('noShowMerkleCpn');
if(idx < 0 ){
$('#cpnForm').click();
}else{
}
} 
查找cookie的脚本位于同一服务器上

server/bank/ima/script
cookie使用以下路径值保存在主机:
server

/bank/ima/

是否存在可能导致此问题的跳出物?有什么建议吗?

我要检查两件事。首先,您正在设置document.cookie而不附加任何内容,因此您将删除所有以前的cookie(坏主意)。其次,确保将cookie的域和路径设置为与读取cookie的页面相同的域

还要注意您对选中属性的使用:

if($('noThanks').prop('checked'))


我在localhost和我的服务器上都尝试了你的代码,效果很好。我想你一定很小心地关闭了浏览器,这样cookie才真正设置好。我的猜测是你有一个路径问题,尽管从你所说的关于路径的内容来看,它肯定不是很明显

我将代码保存在服务器上,因此您至少可以检查有效的代码

设置cookie的url为:

用于测试cookie的url为:


虽然这与您的问题无关,但我强烈推荐jquery cookie插件来处理cookie。它非常轻便,使用方便。链接是:

从某种意义上说,您是否在阅读document.cookie时验证了cookie是否确实存在。我已经在检查上设置了一个断点,并查看了我的cookies,并以这种方式进行了验证。
document.cookie
仍然无法找到cookie。document.cookie返回一个字符串,您的cookie是否位于该字符串中?
document.cookie
返回一个空字符串我要检查两件事。首先,您正在设置document.cookie而不附加任何内容,因此您将删除所有以前的cookie(坏主意)。其次,确保将cookie的域和路径设置为与读取cookie的页面相同的域。这是一个路径问题。为类似@jbabey的cookie设置路径可以解决此问题。
/bank/ima/