我有一个cookie,我在PHP中设置了值,我想在javascript中使用它的值。我找不到任何关于此的教程,我找到了从php或javascript设置和获取值的教程,但我找不到在php中设置cookie并在JavaScript中获取其值的教程。 php cookie是workign我已经回应了它。
PHP
setcookie($name, $pID, time() + (86400 * 30), "/");
的Javascript
我是从W3学校尝试过的,但它不起作用。
function displayA() {
var name = "id=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
alert(c);
}
答案 0 :(得分:1)
这是我在许多项目中使用的,从未出现过问题。 检查jsfiddle的使用情况。
此外,使用您的浏览器(如Chrome)检查所有已保存的Cookie,确保在阅读之前有Cookie。
EXP:https://jsfiddle.net/1t4q9ejx/
/*-----------------------------------------------------
global function for Set/Get Cookie
------------------------------------------------------*/
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
//set cookie
setCookie("selectedUnit", "10", 365);
//get cookie
let cookieUnits = getCookie("selectedUnit");
console.log('cookieUnits-->' + cookieUnits);
//list all cookies
function listCookies() {
var theCookies = document.cookie.split(';');
var aString = '';
for (var i = 1; i <= theCookies.length; i++) {
aString += i + ' ' + theCookies[i - 1] + "\n";
}
return aString;
}
console.log(listCookies());