使用javascript获取在php中设置的cookie的值

时间:2017-07-07 13:16:00

标签: javascript php cookies

我有一个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);
    }

1 个答案:

答案 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());