函数返回cookie

时间:2018-05-16 06:22:25

标签: javascript html5 firebase cookies firebase-authentication

这是我用来创建我的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 "";
}
我似乎无法弄清楚如何将此函数应用于我的代码。如果有人能帮助我,我会非常感激

1 个答案:

答案 0 :(得分:0)

您需要使用名称正确设置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
});