0

我有一个链接到 PHP 页面的 javascript 文件,该文件的值需要在提交表单和刷新页面时保存。

有没有一种简单的方法来设置类似于 PHP 中的方法的 cookie。

setcookie("MovementDate", $MovementDate, time()+3600);  

我发现的一切都非常复杂,似乎无法正常工作。

读取设置的 cookie 当前也是一个问题。从我的搜索中,我想出了这种方法,但是它不起作用。

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}

}

var movement = readCookie(MovementDate);
document.write(movement);
4

2 回答 2

2

调用 readCookie 时,参数需要是字符串。将倒数第二行更改为:

var movement = readCookie("MovementDate");
于 2011-02-11T06:17:52.900 回答
2

如果您已经习惯使用 PHP,则可以使用PHPjs

设置时,请使用该setcookie功能。

对于阅读,请使用使用该runkit_superglobals功能。这将使您可以$_COOKIE使用与 PHP 完全相同的方法访问超全局。

例子:

// Setting
// setcookie uses seconds but the JS Date object returns milliseconds,
// so we need to divide by 1000
setcookie("foo", "bar", (new Date().getTime() / 1000) + 3600);

// Reading
runkit_superglobals();    
alert($_COOKIE["foo"]); // alerts "bar"
于 2011-02-11T06:20:06.303 回答