cookie返回null但不是小提琴

时间:2016-07-06 15:24:27

标签: javascript

我粘贴小提琴js代码并返回null。但是在小提琴上,结果是5.为什么它没有正确返回?

https://jsfiddle.net/ay7xnzvz/

 document.cookie = "test=5";
 function read_cookie(k,r){return(r=RegExp('(^|; )'+encodeURIComponent(k)+'=    ([^;]*)').exec(document.cookie))?r[2]:null;}

var x = read_cookie("test", document.cookie);
alert(x);

2 个答案:

答案 0 :(得分:0)

我假设您没有在Web服务器中运行此脚本,您只是打开file.html(包含该脚本)本地。

要使用cookie,您需要一个Web服务器。

  

当收到HTTP请求时,服务器可以发送Set-Cookie标头   随着回应。之后,cookie值随之一起发送   以Cookie HTTP的形式向同一服务器发出的每个请求   头。另外,可以指定到期延迟。   还可以指定对特定域和路径的限制。 - 通过MDN

答案 1 :(得分:0)

在Firefox控制台中,您的代码返回null

但是在Chrome中,它会返回5

使它在两个浏览器和jsfidle中都返回相同的值:

var c1= document.cookie = "test=5";
function read_cookie(k,r){return(r=RegExp('(^|; )'+encodeURIComponent(k)+'=([^;]*)').exec(c1))?r[2]:null;}

var x = read_cookie("test", c1);
alert(x);