2016-07-06 72 views
0

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

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); 
+0

你有什么期待得到什么? – Gintoki

+0

我期待得到数字五作为输出。它在小提琴中工作,但当我粘贴时,我变得空了。 – user6535413

+0

也许我忘了进口,如果有的话? – user6535413

回答

0

我假设你是不是在Web服务器乳宁这个脚本,你只是开file.html(至极containe该脚本)localy。

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

当收到HTTP请求时,服务器可以发送带响应的Set-Cookie标头 。之后,每次以Cookie HTTP 标题的形式向同一服务器发送请求时,cookie值将与 一起发送。此外,可以指定到期延迟。 也可以指定对特定域和路径的限制。 - 通过MDN

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); 
相关问题