Javascript 如何在服务器端设置的前端代码中检索cookie?

Javascript 如何在服务器端设置的前端代码中检索cookie?,javascript,node.js,cordova,cookies,Javascript,Node.js,Cordova,Cookies,以下是nodejs服务器上的代码:(在npm安装express和npm安装cookie解析器之后) 以及网站上的代码: <html> <head> <script> function onload(){ alert(getCookie("Token")); } function getCookie(cname) { var allcookies = document.cookie; var arrayb = allcookies.spl

以下是nodejs服务器上的代码:(在npm安装express和npm安装cookie解析器之后)

以及网站上的代码:

<html>
<head>
<script>
function onload(){
   alert(getCookie("Token"));
}

function getCookie(cname) {
    var allcookies = document.cookie;
    var arrayb = allcookies.split(";");
    for (item in arrayb) {
        if (item.startsWith("Token=")){
            var c=item.substr(5);
            return c;
        }
    }
}
</script>
</head>
<body onload="onload()>
</body>
</html>

函数onload(){
警报(获取cookie(“令牌”);
}
函数getCookie(cname){
var allcookies=document.cookie;
var arrayb=allcookies.split(“;”);
用于(阵列中的项目){
if(item.startsWith(“Token=)){
var c=子项(5);
返回c;
}
}
}
这告诉浏览器它应该使cookie仅对HTTP可用(即而不是对客户端JavaScript可用)

要使用客户端JS阅读它,只需不要这样做


将该值改为
false

除了设置为
httpOnly:false
,这是访问javascript访问cookies所必需的,您必须在中使用for而不是for

function getCookie(cname) {
  var arrayb = document.cookie.split(";");
  for (const item of arrayb) {
    if (item.startsWith("Token=")){
        return item.substr(6);
    }
  }
}

一种方法是将cookie存储到一个变量中,然后通过响应对象将其传递到前端,然后访问它。每次请求时都必须将其重新发送到服务器,这很麻烦,因此将其保存为cookie会容易得多。好的,我想这会起作用,但我的“getCookie”函数中也有一个问题,我想知道你是否能帮我解决这个问题好吧,不管怎样,将它设置为“httpOnly:false”,甚至删除该选项都不起作用。。
       httpOnly: true
function getCookie(cname) {
  var arrayb = document.cookie.split(";");
  for (const item of arrayb) {
    if (item.startsWith("Token=")){
        return item.substr(6);
    }
  }
}