日期:2014-05-16  浏览次数:20422 次

js 设置cookie
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
这个没问提,可以创建
但是这个其他文件夹不能共享
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
这个可以全站共享
但是这个却创建cookie不成功。


我的项目是asp.net mvc2 帮忙看看什么问题

------解决方案--------------------
js操作COOKIE
JScript code

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();
}
//读取COOKIES
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)) return unescape(arr[2]);
else return null;
}
//删除COOKIES
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

------解决方案--------------------
cookie1: document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
cookie2: document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";

你碰到的问题应该是在cookie1还没失效的时候,你又创建了另外一个cookie2,没错,cookie1和cookie2是完全不同的2个cookie,然后你用传统的取cookie的方法取到的实际上是cookie1的值,导致你感觉好像是cookie没创建成功一样。

解决办法:
document.cookie = name + "=" + escape(value) + ";expires=" + new Date().toGMTString();
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
刷新2次再把document.cookie = name + "=" + escape(value) + ";expires=" + new Date().toGMTString();删掉再刷新就OK了

------解决方案--------------------
cookie1: document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
cookie2: document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";

你碰到的问题应该是在cookie1还没失效的时候,你又创建了另外一个cookie2,没错,cookie1和cookie2是完全不同的2个cookie,然后你用传统的取cookie的方法取到的实际上是cookie1的值,导致你感觉好像是cookie2没创建成功一样。

解决办法:
document.cookie = name + "=" + escape(value) + ";expires=" + new Date().toGMTString();
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
刷新后把document.cookie = name + "=" + escape(value) + ";expires=" + new Date().toGMTString();删掉再刷新就OK了
------解决方案--------------------
[code=javascript] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档 </title>
<script>
/**
设置js的cookie
name:cookie的名字
value:cookie的值
time:cookie的时间(天为单位)
*/
function setCookie(name,value,time){
var oDate = new Date();
document.cookie = name+'='+value+';expires='+oDate.setDate(oDate.getDate()+time);
}
/**
得到js的cookie
name:cookie的名字
如果没有找到,或者cookie被删了就返回空
*/
function getCookie(name){
var oArray = document.cookie.split('; ');
for(var i=0;i <oArray.length;i++){
var newArray=oArray[i].split('=');
if(newArray[0]==name){
return newArray[1];