为什么不能使用mootools改变cookie值?

时间:2012-12-30 08:53:48

标签: php cookies mootools

为什么不能使用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>

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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