逻辑上这似乎是正确的。但是,setCookie或getCookie函数是不是都没有触发?
cookie.js
function setCookie(c_name,value,exdays) { 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; }
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
的index.php
var newCookie = parseInt(getCookie("liked_count"));
if(newCookie != null && newCookie != ""){
newCookie += 1;
setCookie("liked_count",newCookie,5);
}else{
setCookie("liked_count",1,5);
}
无论if语句的哪一侧,无论如何都不设置cookie。据我所知,没有错误或警告,因此它无法在我的cookies.js文件中找到setCookie和getCookie函数吗?
cookies.js文件成功找到,所以我在这里结束了。
<head>
<script type="text/javascript" src="assets/js/cookies.js"></script>
</head>
非常感谢任何帮助!
编辑:
哦对不起,这很令人尴尬......事实证明,cookie.js文件正在被缓存,我实际上已经移动了文件位置。就这么简单。对不起浪费时间!
答案 0 :(得分:2)
您遇到的问题是您使用:
var newCookie = parseInt(getCookie("liked_count"));
parseInt如果失败则返回NaN。而不是以下行:
if(newCookie != null && newCookie != ""){
你应该
if(!isNaN(newCookie)) {