Javascript 如何在服务器端设置的前端代码中检索cookie?
以下是nodejs服务器上的代码:(在npm安装express和npm安装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
<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);
}
}
}