【发布时间】:2011-03-30 23:09:26
【问题描述】:
我正在使用 JavaScript 处理 cookie,以便在我的 asp.net Web 应用程序中存储一些值。
我使用document.cookie 来保存一些值(转换为长字符串)。但我希望我的应用程序中的所有页面都可以访问该值。
当我尝试从其他页面获取该值时,我会在当前 URL 中获取与文档相关的值。
简而言之,我将 cookie 中的值保存在 http://myapp/doc1.aspx 中,并希望在 http://myapp/doc2.aspx 中检索它
那么 document.cookie 是否属于单个文档范围?如何跨网站保存/读取 cookie?
更新
这就是我获取和设置 cookie 的方式
function getCookie(c_name)
{
try{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1)
{
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
}
catch(e)
{}
return "";
}
function setCookie ( name, value, exp_d)
{
var cookie_string = name + "=" + escape ( value );
if ( exp_d )
{
var exdate=new Date();
var expires = new Date ( exdate.getYear(), exdate.getMonth(), exdate.getDay()+exp_d );
cookie_string += "; expires=" + expires.toGMTString();
}
document.cookie = cookie_string;
}
但是我在不同的页面中得到了不同的 cookie 值。有什么想法吗?
谢谢。
【问题讨论】:
-
我在这里没有发现任何问题。您是否尝试过创建 javascript:alert(document.cookie) 的快捷方式以在不同点检查它,并在 firebug 或类似内容中设置断点以确保在设置之前没有编写它?
-
是的,我正在按照你说的做。
标签: javascript asp.net scope cookies