1

OK、これは私をおかしくさせています。ここでデバッグコードを機能させることさえできませんでした。

https://github.com/carhartl/jquery-cookieを使用して、Cookie を設定しました。

var link=$.getQueryParam('q');
var cookie_name="project_"+q+"_diff";
$.cookie(cookie_name,true,{expires:7,path:'/'});

PHPスクリプトでこのCookieを読み取ろうとしました:

$cookie_name="project_".$q."_diff"; 
if($_COOKIE[$cookie_name]=='true') 
  {
    echo "<!-- Cookie Status is TRUE -->";
    // stuff
  }
else 
  {
    echo "<!-- Cookie Status is FALSE for cookie '$cookie_name' \n All cookies: ".print_r($_COOKIE,true)."\n-->";
    // Other stuff
  }

さまざまなページのリロード時に Chrome のコンソールで、JS Cookie が実際に設定されていることを確認し、後でアクセスできるようにします。

ソースコードの結果は?

<!-- Cookie Status is FALSE for cookie 'project_80afd7a53462bb02dfd39e359ac3f291_diff' 
 All cookies: Array
(
)
-->

また、別の StackOverflow の質問に基づいてコンソールで以下を実行し、後でコンソールで結果を取得しましたが、まだ JS に出力されていません。

function createCookie(name,value,days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/; domain=.compute.amazonaws.com";
}

私はクッキーを返していません。セットアップは少し奇妙です (レンダリングされた Jinja テンプレートで PHP を実行する) が、他のすべての標準変数は機能しており、セッションの長いユーザー トグルが必要なだけで、Cookie は明らかな (非協力的である場合) ソリューションのようです。誰もこれを理解できない場合、私は提案を受け入れます...

4

2 に答える 2

0

私もこの問題を抱えています。Cookieの説明でドメインを削除することで解決しました。

例:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/"; 

PS IE、Chrome、Opera でこの問題が見つかりました。Firefoxでは動作します。

于 2015-04-07T19:47:09.827 に答える