Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript检查cookie值_Javascript_Cookies - Fatal编程技术网

Javascript检查cookie值

Javascript检查cookie值,javascript,cookies,Javascript,Cookies,我有一个临时登录脚本,它检查密码,分配cookie,然后将用户重定向到新页面。在控制台页面上,我有代码检查cookie是否设置为true。如果是,则删除它并继续。如果不是,它会将用户重定向回主页。我把所有的代码都准备好了,但它不起作用!以下是一些更重要的信息: cookie被称为login 登录的cookie设置为true cookie设置正确,这是控制台页面代码的问题。 这是我的密码: 函数getCookie(名称){ var dc=document.cookie; 变量前缀=名称+“=

我有一个临时登录脚本,它检查密码,分配cookie,然后将用户重定向到新页面。在控制台页面上,我有代码检查cookie是否设置为
true
。如果是,则删除它并继续。如果不是,它会将用户重定向回主页。我把所有的代码都准备好了,但它不起作用!以下是一些更重要的信息:

  • cookie被称为
    login
  • 登录的cookie设置为
    true
  • cookie设置正确,这是控制台页面代码的问题。 这是我的密码:
函数getCookie(名称){ var dc=document.cookie; 变量前缀=名称+“=”; var begin=dc.indexOf(“;”+前缀); 如果(开始==-1){ begin=dc.indexOf(前缀); 如果(begin!=0)返回null; } 其他的 { 开始+=2; var end=document.cookie.indexOf(“;”,begin); 如果(结束==-1){ 结束=直流长度; } } //因为unescape已被弃用,所以替换为decodeURI //返回unescape(dc.substring(begin+prefix.length,end)); 返回decodeURI(dc.substring(begin+prefix.length,end)); } 函数doSomething(){ var myCookie=getCookie(“登录”); 如果(mycokie==true){ 警报(“登录一个会话!”); document.cookie=“username=;expires=Thu,1970年1月1日00:00:00 UTC;path=/;”; } 否则{ 警报(“登录失败。重定向…”); window.location.assign(“https://www.code-u.org/") }
}两年来帮不了你,但这是因为这个被广泛复制的
getCookie
有一个错误

也就是说,如果cookie集是
document.cookies
中的第一个cookie,则它不起作用,因为当执行分支
if(begin==-1)
时,永远不会设置
end


解决方案是用另一个实现替换
getCookie

两年后才帮上忙,但这是因为这个广泛复制的
getCookie
中有一个错误

也就是说,如果cookie集是
document.cookies
中的第一个cookie,则它不起作用,因为当执行分支
if(begin==-1)
时,永远不会设置
end


解决方案是用另一个实现替换
getCookie

发布控制台错误。您是否添加了console.log行以查看它工作和不工作的原因?例如
console.log('mycokie',mycokie,mycokie==true)和仅供参考,cookie值将是字符串,而不是布尔值。它会进入if吗?它会进入else吗?可能值得注意的是,这个问题就是这个答案:我没有控制台错误,Stefano我知道,msanford,我使用了那个代码,但我有一些问题。如何添加console.log、epascarello?根据你的建议,我把它改成了“真”而不是“真”,但它不起作用!在if(mycokie==true){查看mycokie值是什么?发布控制台错误之前,您是否可以先执行alert(mycokie)命令?您是否添加了console.log行以查看其工作和不工作的原因?例如
console.log('mycokie',mycokie,mycokie==true)
仅供参考,cookie值将是一个字符串,而不是布尔值。它是否进入if?是否进入else?可能值得注意的是,这个问题的答案是:我没有控制台错误,Stefano我知道,msanford,我使用了该代码,但我遇到了一些问题。我如何添加console.log,epascarlo?我将其更改为根据你的建议,用“true”代替“true”,它不起作用!你能在if(mycokie==true){之前先做alert(mycokie)吗?看看mycokie的值是多少?