如何使用jQuery读取cookie并将其存储在变量中?

时间:2012-06-12 14:09:02

标签: jquery

我想阅读“bar”cookie的内容并将其存储在变量“foo”中

我的第一次刺伤就是这个,但我没有得到警报。我认为作业陈述是不正确的。

var foo = $.cookie('bar');
alert (foo);

4 个答案:

答案 0 :(得分:2)

如果您希望让jQuery处理cookie操作,则需要使用库。

jQuery Cookie插件由carhartl

https://github.com/carhartl/jquery-cookie

当你可以在直接的javascript中轻松地使用库时,有些人不喜欢使用库..就个人而言,我总是使用上面的库。

但是,如果你想探索非jQuery方式......

直接JavaScript方法

Google搜索提供了此页面:http://www.tutorialspoint.com/javascript/javascript_cookies.htm

我从来没有使用直接js来操作cookie,因此我只需要从该网站复制/粘贴以便于操作。您可以参考本段上方的链接以获取详细信息。

编写Cookie

document.cookie = "key1=value1;key2=value2;expires=date";
function WriteCookie()
{
   var cookievalue= "ABCD";
   document.cookie="name=" + cookievalue;
   alert("Setting Cookies : " + "name=" + cookievalue );
}

阅读所有Cookie

function ReadCookie()
{
   var allcookies = document.cookie;
   alert("All Cookies : " + allcookies );

   // Get all the cookies pairs in an array
   cookiearray  = allcookies.split(';');

   // Now take key value pair out of this array
   for(var i=0; i<cookiearray.length; i++){
      name = cookiearray[i].split('=')[0];
      value = cookiearray[i].split('=')[1];
      alert("Key is : " + name + " and Value is : " + value);
   }
}

答案 1 :(得分:2)

首先,您必须在here下载jQuery cookie插件。 随后将此链接添加到文档的head标记。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>

例如你的Html文档有这个标签:

<a href="#" id="showCookie">Show cookie</a>
<a href="#" id="deleteCookie">Delete cookie</a>
<input disabled id="verbose" type="text" />

用于阅读cookie将此脚本添加到您的html页面:

$("#showCookie").click(function(e){
  e.preventDefault();
var yourcookie=$.cookie(cookieName).val();
  $("#verbose").val("Cookie value is " + yourcookie + ".");

});

所以以及创建cookie:

jQuery(document).ready(function(){

var cookieName = 'level';
var cookieOptions = {expires: 7, path: '/'};
$.cookie(cookieName, $(this).attr("id"), cookieOptions);
)};

并删除所有Cookie的结尾:

$("#deleteCookie").click(function(e){
e.preventDefault();
  $("#verbose").val("Cookie 'level' with value \"" + $.cookie(cookieName) + "\" removed.");
  $("#" + $.cookie(cookieName)).removeClass("selected");

答案 2 :(得分:1)

答案 3 :(得分:1)

你有/ jQuery cookie插件吗? Here's one for you。 Cookie不是jQuery Core的一部分。(