我正在使用来自CakePHP的setcookie()在/cake/contoller_name/method/parameter this page中创建一个cookie。但我看不懂JavaScript的饼干。但是,当上面的cookie从/cake/contoller_name/method this page设置时,我可以从JavaScript读取这个cookie。
因此我意识到我们不能用参数从页面中设置和更改cookie。在服务器端,在Cake中,我们可以读取这些cookie,但不能从JavaScript读取。注意: params是以“蛋糕样式”传递的,而不是在常规查询中传递的;例如:/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'));我可以用JS读取案例1中的cookie,但不能从案例2读取cookie。我如何从CakePHP在任何页面上设置cookie并从JavaScript读取这些cookie?
发布于 2012-09-18 08:58:53
试试下面的代码来设置cookie
setcookie('TEST_COOKIE','your data',0,"/"); 发布于 2012-09-17 12:04:03
您必须遵循以下三个步骤:
最新的Firebug已经安装了FireCookie。
在FireCookie中,您可以检查cookie是否真的存在,并查看它们的名称和值。
https://stackoverflow.com/questions/12455518
复制相似问题