我在CakePHP中使用setcookie()
從/cake/contoller_name/method/parameter this page
創建cookie。但是我無法從JavaScript讀取這個cookie。但是,當上面的cookie從/cake/contoller_name/method this page
設置時,我可以從JavaScript讀取此cookie。CakePHP Cookie無法從JavaScript讀取
所以我意識到我們不能使用參數設置和更改頁面中的cookie。在Cake的服務器端,我們可以讀取這些cookie,但不能使用JavaScript。注意:參數是以「蛋糕風格」傳遞的,而不是常規查詢字符串;例如:/cake/controller/param1/param2
。 示例代碼
情況1: URL:/蛋糕/工資/薪金頁:payroll_controller.php
function salary(){
setcookie('TEST_COOKIE','TEST_DATA',0);
}
情況2: URL:/蛋糕/工資/工資/ 14頁:payroll_controller.php
function salary(){
setcookie('TEST_COOKIE','TEST_DATA',0);
}
JavaScript代碼:
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
alert(getCookie('TEST_COOKIE'));
我可以從案例2.閱讀案例1與JS的餅乾,而不是餅乾我如何設置cookies從CakePHP的任何頁面上閱讀從JavaScript這些cookie?
爲什麼,如果你使用的是「的setcookie」功能,你使用CakePHP? –
閱讀此:http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html –