2012-12-30 52 views
0

爲什麼不能使用mootools更改cookie值?
如果我在php中設置了cookie值,我將無法使用mootools更改cookie值。
爲什麼會出現?這是一個mootools的bug嗎?
爲什麼不能使用mootools更改cookie值?

<?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

您無法在同一個實例/頁面中設置和訪問cookie。瀏覽器會根據從服務器發送到瀏覽器的標頭識別cookie並將其存儲。技術上,您無法更新cookie,只能覆蓋它與一個新的同名。您必須在設置後進行重定向或刷新。使用setcookie('drres','world');更新該值。

1

我明白了。我認爲這是一種跨腳本保護。您無法寫入或刪除服務器設置的Cookie。 (否則,例如,你將能夠覆蓋登錄cookie)。

相關問題