当给定的Cookie不存在时,结果必须为 null 或 undefined ,但在这种情况下 favouritescook 不存在但脚本认为它确实如此。
对于null或undefined,结果必须为“OK Detect”,但结果为“BAD no detect result”。为什么这不起作用?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<script>
actcookies=jQuery.cookie("favouritescook");
function fav(id)
{
if (actcookies=='undefined' || actcookies=='null')
{
alert("OK detect");
}
else
{
alert("BAD Not detect Result : "+actcookies);
}
}
</script>
<div onclick="fav(1);">Test Now 1</div>
我在不同的浏览器中试过这个,结果相同。我不明白这一点。
答案 0 :(得分:2)
问题是它不等于字符串'undefined'
或字符串'null'
,它与值undefined
和null
匹配,没有引号({ {1}})。
抛弃报价,它应该可以正常工作。
答案 1 :(得分:1)
它不会返回undefined
您需要将控制器更改为
if (typeof actcookies=='undefined' || !actcookies)
{
alert("OK detect");
}
else
{
alert("BAD Not detect Result : "+actcookies);
}
答案 2 :(得分:0)
这应该有效
actcookies=jQuery.cookie("favouritescook");
function fav(id)
{
if (actcookies==undefined || actcookies==null)
{
alert("OK detect");
}
else
{
alert("BAD Not detect Result : "+actcookies);
}
}