[英]Set cookie from CodeIgniter and get the value with javascript
我正在嘗試從 cookie 中獲取一些數據。 我用 CodeIgniter 設置了 cookie,這是我的代碼
$c = array('name' => 'total', 'value' => $total, 'path' => '/');
$this->input->set_cookie($c);
然后,我想用 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);
}
}
}
console.log(getCookie('total'))
我從這里得到了這個函數,但它對我的代碼不起作用。 有沒有辦法做到這一點?
您的 javascript 代碼沒有任何問題。 可能是因為 cookie 尚未設置。 您只需將expire
值添加到您的 cookie,將其設置為任意數字(以秒為單位)或0
以將其設置為立即禁用。
$c = array('name' => 'total', 'value' => $total, 'path' => '/', 'expire' => 0);
$this->input->set_cookie($c);
要讀取 cookie,您可以使用它
function readCookie(name) {
let nameEQ = encodeURIComponent(name) + '=';
let ca = document.cookie.split(';');
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) === ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0)
return decodeURIComponent(c.substring(nameEQ.length, c.length));
}
return null;
}
readCookie('total');
這對我有用過多次,希望它也適用於你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.