【问题标题】:Function to return value of cookie返回cookie值的函数
【发布时间】:2018-05-16 06:22:24
【问题描述】:

这是我用来创建 cookie 的代码

 document.cookie = (firebase.auth().currentUser.phoneNumber);
    handleSignedInUser(user);

这是我用来读取我的 cookie 的值并将其值分配给谷歌地图标记标签的代码

var markerLabel = document.cookie;
  var marker = new google.maps.Marker({
    position: {
      lat: data.User.l[0],
      lng: data.User.l[1]
      
    },
    map: map,
    label: markerLabel
  });

Picture of Homepage 它不仅显示电话号码,还显示电话号码未定义。另一个堆栈溢出用户提到我没有正确返回 cookie 的值。 我在https://www.w3schools.com/js/js_cookies.asp上找到了这个返回cookie值的函数

function getCookie(cname) {
    var name = cname + "=";
    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);
        }
    }
    return "";
}
我似乎无法弄清楚如何将此功能应用于我的代码。如果有人可以帮助我,我将不胜感激

【问题讨论】:

  • 首先使用 setCookie 函数设置 cookie 的正确名称。然后用 getCookie 访问它。

标签: javascript html firebase cookies firebase-authentication


【解决方案1】:

您需要正确设置 cookie 的名称,以便以后可以通过名称读取它。无论你在哪里找到getCookie 函数,都应该有一个相反的函数,比如setCookie,你应该使用它来设置cookie。所以你的工作流程会是这样的:

setCookie('phoneNumber', firebase.auth().currentUser.phoneNumber);

然后

var markerLabel = getCookie('phoneNumber');
var marker = new google.maps.Marker({
  position: {
    lat: data.User.l[0],
    lng: data.User.l[1]
  },
  map: map,
  label: markerLabel
});

【讨论】:

  • 未捕获的 ReferenceError:setCookie 未在 xk (firebaseui.js:291) at wk (firebaseui.js:289) at firebaseui.js:323 的 signInSuccess (auth.js:11) 处定义跨度>
  • 当然它没有定义,正如我在回答中所说,你需要先包含它,就像你为 getCookie 所做的一样。
  • 所以我应该让我的 document.cookie = setCookie('phoneNumber', firebase.auth().currentUser.phoneNumber);
  • 不,你应该添加 setCookie 函数,就像你为 getCookie 所做的那样。并设置 cookie setCookie('phoneNumber', firebase.auth().currentUser.phoneNumber);。不要手动触摸document.cookie
  • 我的代码中没有获取 cookie 功能。我发布的代码是我在网上找到的一个函数,但我不知道如何实现它
猜你喜欢
  • 2010-09-15
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多