我在使用 JavaScript cookie 作为全局变量时遇到问题。基本上我已经设置了带有属性 prev 的 cookie 来在 jsp 页面上存储一个值。
然后在另一个jsp页面上,我将尝试获取该值。但是我没有得到价值。我总是得到错误的值。
这两个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,但没有跨页面传输值。我可以知道发生了什么吗?
如果您需要更多线索,请提示我更多问题。