JS 读取写入 Cookie ;
<script language="javascript">
function kexie()
{
var Days =1;
var exp=new Date();
exp.setTime(exp.getTime()+Days*24*60*60*1000);
document.cookie="id=cc;expires="+exp.toGMTString();
}
function Get(){
var cookieString = new String(document.cookie);
var cookiehead="price=";
var start=cookieString.indexOf(cookiehead);
var arr=cookieString.split(';');
for(var i=0;i<arr.length;i++)
{
if(arr[i].indexOf(cookiehead)>0)
{
var k=arr[i];
k=k.substr(cookiehead.length+1);
document.all.tg.value =k;
}
}
}
</script>
注意: 调用函数 控件的 id 值与 函数名不能相同。
exp.toGMTString(); 转换函数不能少,否则 只能通过转发页面的方式,获取Cookie,直接从本地读取,是读不到的。
k.substr(cookiehead.length+1); subStr 与 subString() 的关系。
<script language="javascript">
function kexie()
{
var Days =1;
var exp=new Date();
exp.setTime(exp.getTime()+Days*24*60*60*1000);
document.cookie="id=cc;expires="+exp.toGMTString();
}
function Get(){
var cookieString = new String(document.cookie);
var cookiehead="price=";
var start=cookieString.indexOf(cookiehead);
var arr=cookieString.split(';');
for(var i=0;i<arr.length;i++)
{
if(arr[i].indexOf(cookiehead)>0)
{
var k=arr[i];
k=k.substr(cookiehead.length+1);
document.all.tg.value =k;
}
}
}
</script>
注意: 调用函数 控件的 id 值与 函数名不能相同。
exp.toGMTString(); 转换函数不能少,否则 只能通过转发页面的方式,获取Cookie,直接从本地读取,是读不到的。
k.substr(cookiehead.length+1); subStr 与 subString() 的关系。
服务器 Cookie
if(Request.Cookies["price"]!=null)
{
f1.Text=Server.UrlDecode(Request.Cookies["id"].Value);
}
else
{
f1.Text="服务器端读取客户端失败";
}
// System.Web.HttpCookie cook = Request.Cookies["id"];
//
// if(cook != null)
// {
// Response.Write(cook.Value.ToString());
// }
// else
// {
// Response.Write("<script>alert('cookies is null!');</script>");
// }
解决中文 问题:
客户端 cookie 写入 escape,客户端 unescape 和 服务器端都要用 Server.UrlDecode 进行解码。
但是如果用 asp.net 写入,js 读取就有问题了。