来自cookie javascript的奇怪价值

时间:2017-11-01 08:13:06

标签: javascript cookies

我有以下代码

 if (navigator.cookieEnabled) {
            if (cookie == '') {

                $('[data-remodal-id=modal]').remodal().open();

                $('.team-option').click(function () {
                    cookie = document.cookie = "team=" + $(this).html();
                    setTeam(cookie);
                });
            } else {
                setTeam(cookie);  //Cookie already have value   
            }
        } else {
            alert("Cookie not enbabled");
        }

var setTeam = function (data) {
    var team = data.split(';')[0].replace(/team=/gi, '');
    $('.team-info').html("Logged in as: <strong>" + team + "<strong>");

    menuHandler.init();

};

代码只是设置一个cookie,其值取决于模式出现时单击的按钮。然后在页面上打印出这样的值,如下所示: enter image description here

这可以按照预期在我的计算机上运行。但是,如果导航到同事计算机上的网页,它看起来像这样: enter image description here

这是什么意思?为什么打印出来?

1 个答案:

答案 0 :(得分:0)

如果您保存了多个Cookie,则保存的Cookie可能不是第一个Cookie,因此您必须获取Cookie数组并将其拆分并通过以下名称“team”和“team”搜索您的Cookie,因为如果它不是你必须搜索“团队”

的cookie数组的第一个元素
if (navigator.cookieEnabled) {
  cookieArray = document.cookie.split(";");
  cookieArray.forEach(myFunction);

  console.log(cookieArray)

  function myFunction(item, index) {
    if (item.split("=")[0] == " team" || item.split("=")[0] == "team") {
      teamID = item.split("=")[1];
      console.log("teamID " + teamID)
    }

  }
  }