如何使用js获取cookie?

时间:2011-11-02 13:27:01

标签: javascript cookies

  

可能重复:
  What is the “best” way to get and set a single cookie value using JavaScript
  Read cookies with JavaScript

当我在php中print_r( $_COOKIE );时,我得到了以下结果。

Array ( [filters] => Array ( [cat] => 1 ) ) 

现在我希望使用JavaScript从Cookie中获取cat的价值。

我试过这个:

 function getCookies() {

      var pairs = document.cookie.split(";");
      var cookies = {};
      for (var i=0; i<pairs.length; i++){
        var pair = pairs[i].split("=");
        cookies[pair[0]] = unescape(pair[1]);
      }
      return cookies;
}

当我从上面的函数提醒返回的结果时,我得到一个[object Object]。但我不知道如何从该对象获得 cat 的价值。

如何从返回的对象中了解cat的值?

由于

2 个答案:

答案 0 :(得分:3)

document.cookie。您可能还想阅读Quirksmode – Cookies


编辑 重新OP编辑:

  

当我从上面的函数警告返回的结果时,我得到一个[object Object]。但我不知道如何从那个对象中获得猫的价值。

     

如何从返回的对象中了解cat的值?

问题是 alert()很难调试。传递给alert的任何内容都会转换为字符串,但对象没有非常有用{{1} }} 方法。使用真正的调试器(而不是toString()代替console.log())。

请参阅How can I debug my JavaScript code?

答案 1 :(得分:1)

我相信Google搜索会比SO帖子更好地为您服务。话虽如此,下面的代码是我Googled "javascript get cookie"时出现的几十个示例之一。

function getCookie(name) {
    var dc = document.cookie;
    var begin = dc.indexOf(name);
    var end = (dc.indexOf(";", begin) == -1) ? dc.length : dc.indexOf(";", begin);

    return unescape(dc.substring((begin + (name.length + 1)), end));
}
相关问题