Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery(或只是javascript)迭代cookies?_Javascript_Jquery_Cookies - Fatal编程技术网

如何使用jquery(或只是javascript)迭代cookies?

如何使用jquery(或只是javascript)迭代cookies?,javascript,jquery,cookies,Javascript,Jquery,Cookies,我正在使用添加或更新位于$(文档)的Cookie。就绪。我还有另一个事件,它应该迭代所有cookie,并对每个cookie的值进行处理。我如何迭代cookies集合并获得每个cookies的id和值 我是这样想的: $.cookie.each(function(id, value) { alert('ID='+id+' VAL='+value); }); 在普通javascript中,这相当容易: var keyValuePairs = docume

我正在使用添加或更新位于
$(文档)的Cookie。就绪
。我还有另一个事件,它应该迭代所有cookie,并对每个cookie的值进行处理。我如何迭代cookies集合并获得每个cookies的id和值

我是这样想的:

$.cookie.each(function(id, value) { 
            alert('ID='+id+' VAL='+value); 
        });

在普通javascript中,这相当容易:

var keyValuePairs = document.cookie.split(';');
for(var i = 0; i < keyValuePairs.length; i++) {
    var name = keyValuePairs[i].substring(0, keyValuePairs[i].indexOf('='));
    var value = keyValuePairs[i].substring(keyValuePairs[i].indexOf('=')+1);
}
var-keyValuePairs=document.cookie.split(“;”);
对于(var i=0;i
如果您只想查看cookies,没有额外的插件也不难:

$.each(document.cookie.split(/; */), function()  {
  var splitCookie = this.split('=');
  // name is splitCookie[0], value is splitCookie[1]
});

另一种解决方案会在名称前创建空格,这会导致难以调试的错误

var keyValuePairs = document.cookie.split(/; */);
for(var i = 0; i < keyValuePairs.length; i++) {
    var name = keyValuePairs[i].substring(0, keyValuePairs[i].indexOf('='));
    var value = keyValuePairs[i].substring(keyValuePairs[i].indexOf('=')+1);
    ...
var-keyValuePairs=document.cookie.split(/;*/);
对于(var i=0;i
注意前导空格!您应该使用regex/;*/而不仅仅是字符串“;”。我喜欢这个解决方案,因为它允许cookie值中使用等号。非常好的解决方案。使用regex拆分要好得多。除了第一行中的函数定义外,其他都是正确的。将函数(cookieString)更改为函数(索引,cookieString)您已经找到了!哦,对了-对不起!我还认为jQuery将“this”绑定到每个元素,所以您也可以不使用它,只拆分“this”实际上,您应该拆分
而不是
cookieString
,因为
cookieString
的值将是迭代的从零开始的索引。