0

論理的には、これは正しいようです。しかし、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 ファイルがキャッシュされていて、実際にファイルの場所を移動していたことがわかりました。それはとても簡単でした。この時間の無駄でごめんなさい!

4

1 に答える 1

2

あなたが抱えている問題は、次のものの使用にあります。

var newCookie = parseInt(getCookie("liked_count"));

MDN parseInt ドキュメント

parseInt は、失敗すると NaN を返します。次の行の代わりに:

if(newCookie != null && newCookie != ""){

あなたが持っている必要があります

if(!isNaN(newCookie)) {

http://plnkr.co/edit/2Nj5pj

于 2013-10-27T16:42:59.857 に答える