JavaScript Cookie をグローバル変数として使用する際に問題があります。基本的に、属性 prev を使用して Cookie を設定し、jsp ページに値を格納しました。
次に、別の jsp ページで、値を取得しようとします。しかし、私は値を取得しません。私はいつも間違った値を取得しました。
2 つの jsp ページは、abc.jsp と xyz.jsp です。両方の jsp ページに <%@ include file='cookies.jsp'%> があります
これは、cookies.jsp 内のコンテンツです。W3schoolの例と同じコードです。
<script>
/*Code For Setting Cookies*/
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
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 checkCookie()
{
var x=getCookie("prev");
if (x!=null) //cookie is set
{
//do nothing
}
else
{
setCookie("prev",0,365); //set to null
}
} //end of code for setting cookies
</script>
最も重要なことは、getCookie() と setCookie() を使用しようとしたことです。ページ上でローカルに Cookie を設定しているようですが、ページ間で値を転送していないようです。何が起こるか知ってもいいですか?
さらに手がかりが必要な場合は、さらに質問をしてください。