【问题标题】:Read and write cookies读取和写入 cookie
【发布时间】:2011-06-25 08:46:55
【问题描述】:

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

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

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

【问题讨论】:

标签: php javascript cookies phpjs


【解决方案1】:

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

设置,使用setcookie函数。

要阅读,请使用runkit_superglobals 函数。这将使您可以使用与 PHP 完全相同的方法访问 $_COOKIE 超全局。

例子:

// 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"

【讨论】:

  • @Justin Johnson:为什么会这样?
【解决方案2】:

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

var movement = readCookie("MovementDate");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2019-01-05
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多