JS如何写入cookie?在其他页面后台调用

xujun5031 2010-07-09 05:43:36
如题,在default页面点击“按钮”写入cookie,name,和value分别是文本框“Text1”,“Text2”的值

<input id="Text1" type="text" />
<input id="Text2" type="text" />
<input type="button" id="btn" value="按钮">


之后再default2页面的CS中接受,要怎么写??
...全文
2485 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nextuntil 2010-07-09
  • 打赏
  • 举报
回复
jQuery操作cookie的插件

用起来很方便勒
nextuntil 2010-07-09
  • 打赏
  • 举报
回复

jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure': '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};


调用也很方便:

//使用方法如下:
//设置cookie的键值对
//$.cookie(’name’, ‘value’);
//设置cookie的键值对,有效期,路径,域,安全
//$.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
//新建一个cookie 包括有效期 路径 域名等
//读取cookie的值
//var account= $.cookie(’name’);
//删除一个cookie
//example $.cookie(’name’, null);

辰爸 2010-07-09
  • 打赏
  • 举报
回复

1.创建Cookie 我们要进行的第一件事就是要创建一个Cookie。下面给出的SctCookie()函数将完成这一功能。
function SetCookie (name, value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc>2)?argv[2]: null;
var path=(argc>3)? argv[3]: null;
var domain=(argc>4)? argv[4]: null;
var secure=(argc>5)? argv[5]: false;
document.cookie=name+"="+escape(value)+((expires==null)?"":";expires="+expires.toGMTString()))+ ((path==null)?"":(";path="+path))+ ((domain==null)?"":(";domain="+ domain))+ ((secure==true)?";secure":"");
}
SetCookie()只要求传递被设置的Cookie的名字和值,但如果必要的话你可以设置其他4 个参数而不必改变这个函数。可选的参数必须用正确的次序使用。如果不想设置某个参数, 必须设置一个空串。比如,如果我们创建的一个Cookie需要指定secure域,但不想设置expir es, patb或domain,就可以像这样调用SetCookie(): SetCookie("MyNewCookie","MyValue" ,"",","tyue);
2.读取Cookie
下面给出的函数GetCookie()用来读取一个Cookie。当一个Cookie的请求被客户机收到时,该客户机查找它的cookies.txt文件以进行匹配。这个函数首先匹配这个Cookie的名字。如果有多个同名的Cookie,它再匹配路径。函数完成匹配后返回这个Cookie的值。如果客户机中没有这个Cookie,或者路径不匹配,该函数返回一个NULL。
function GetCookie(name)
{
var arg=name+ "=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if(document.cookie.substring(i,j) ==arg)
return getCookieVal(j);
i=document.cookie.indexOf("",i)+1;
if(i==0)break; }
return null; }


wuyq11 2010-07-09
  • 打赏
  • 举报
回复
function SetCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}

指定过期时间:

var myDate = new Date();
myDate.setFullYear(2010, 7, 10);
$.cookie("singleKey", "", "singleKey-value", { expires: myDate, secure: false }) 1天后过期:
var time = Date();$.cookie("singleKey", "", "singleKey-value", { expires: 1, path: "/", secure: false })
huiyuan659 2010-07-09
  • 打赏
  • 举报
回复
jquery没有直接操作cookie的函数

可以去下载一个jquery cookie插件
symbol_bc 2010-07-09
  • 打赏
  • 举报
回复

/// <summary>
/// 写cookie
/// </summary>
/// <param name="name">必填,key</param>
/// <param name="value">必填,value</param>
/// <param name="exptime">可选,exptime,数字</param>
SetCookies : function(name,value,exptime){
try{
if(arguments.length == 2) return arguments.callee(name,value,30*24*60*60*1000);

var exp = new Date();
exp.setTime(exp.getTime() + exptime);
document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}
catch(e){
throw new Error("SetCookies: " + e.message);
return false;
}
}

/// <summary>
/// 读cookie
/// </summary>
/// <param name="name">必填,key</param>
GetCookies : function(name){
try{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null)
return unescape(arr[2]);
return null;
}
catch(e){
throw new Error("GetCookies: " + e.message);
return false;
}
}

//调用
document.getElementById('btn').attachEvent("onclick",function(){
SetCookies ("key","value");
});


//c#

string value = this.Request.Cookies["key"].Tostring();


62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧