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 は明らかな (非協力的である場合) ソリューションのようです。誰もこれを理解できない場合、私は提案を受け入れます...