2010-07-26 89 views
0

我对JavaScript很陌生。javascript cookie问题

今天我尝试这个功能,我在网上查到:

function get_cookie (cookie_name) 
{ 
    var cookie_string = document.cookie ; 
    if (cookie_string.length != 0) { 
     var cookie_value = cookie_string.match (
         '(^|;)[\s]*' + 
         cookie_name + 
         '=([^;]*)'); 
     return decodeURIComponent (cookie_value[2]) ; 
    } 
    return '' ; 
} 

如果我一旦调用此函数,它的工作原理;但是,如果我调用这个函数两次,它不工作。

function onLoadThis() { 
    var t = get_cookie('t'); // if i add another one, not working 
    var s = get_cookie('s'); 
    // more code 
} 

这两个cookie都存在。是否有任何解决方法使其工作,或者可以将两个变量合并到Cookie中?感谢您的帮助。

+1

我推荐使用jQuery和jquery.cookie – 2010-07-26 11:19:10

+1

怎样的document.cookie样子? – Anurag 2010-07-26 11:20:22

+0

是的,为了测试目的,在函数的开头添加'alert(document.cookie);'。 – theycallmemorty 2010-07-26 12:20:32

回答

1

你可以尝试,而不是一个正则表达式不同:

var cookie_value = cookie_string.match (
         '(^|;)[\s]*' + 
         cookie_name + 
         '=([^;]*)'); 

var cookie_value = cookie_string.match (
         '([^;]*)[\s]*' + 
         cookie_name + 
         '=([^;]*)');