0

为什么不能使用 mootools 更改 cookie 值?
如果我在 php 中设置了 cookie 值,我将无法使用 mootools 更改 cookie 值。
为什么失败?它是mootools的错误吗?

<?php 
    setcookie('drres','hello');
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script>
<script type="text/javascript">

    function drres_cookie_read(){
        alert(Cookie.read('drres'));
    }
    function drres_cookie_write(){
        Cookie.write('drres','world');
        alert(Cookie.read('drres'));    // result is "hello" not "world",why?
    }
</script>
<button onclick="drres_cookie_read()">read</button>
<button onclick="drres_cookie_write()">write</button>
4

2 回答 2

2

您不能在同一实例/页面中设置和访问 cookie。浏览器识别 cookie 并根据从服务器发送到浏览器的标头存储它。从技术上讲,您无法更新 cookie,只能用新的覆盖它一个同名的。设置后您必须进行重定向或刷新setcookie('drres','world');。使用 更新值。

于 2012-12-30T10:08:47.900 回答
1

我懂了。我认为这是一种跨脚本保护。您不能写入或删除服务器设置的 cookie。(否则,例如,您将能够覆盖登录 cookie)。

于 2012-12-30T09:24:31.677 回答