javascript - Javascript设置cookie在Web服务器上不起作用
问题描述
嗨,我只是一个初学者,我正在设置一个 Cookie 来记住一个用户。当我测试它时,只需在我的浏览器(Safari)中打开文件它就可以正常工作,但是在将它上传到我的服务器(xxxxxx.bplaced.net)后它就不再工作了。这是我的代码:
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + ";domain=xxxx.bplaced.net;path=/";
}
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
}
else
{
begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1) {
end = dc.length;
}
}
// because unescape has been deprecated, replaced with decodeURI
//return unescape(dc.substring(begin + prefix.length, end));
return decodeURI(dc.substring(begin + prefix.length, end));
}
setCookie('justacookie','testcookie',7);
谁能帮我?
解决方案
客户端设置和获取cookie:
//set cookies
document.cookie = "userId=jkadfa08da7f8f6a7fa";
//get cookies
function getCookieValue(name) {
var cookies = document.cookie;
var cookiesArray = cookies.split(';');
var findCookie = cookiesArray.find(c => c.includes(name));
var cookieSplit = findCookie.split('=');
//cookieSplit[0] === name (key)
return cookieSplit[1];
}
服务器端(Node.js)设置和获取 cookie。
首先,安装 cookie-parser 库。
像这样向您的服务器应用程序添加中间件:
const cookieParser = require('cookie-parser');
app.use(cookieParser());
然后您将可以像这样获取和设置每个 API 的 cookie:
//get cookie
req.cookies['cookieName'];
//set cookie
res.cookie("userId","jkadfa08da7f8f6a7fa")
如果您的意思是要通过请求将它们发送到服务器:cookie 是标头中的子键,每个请求都可以发送标头。
axios.post('url', {"body":data}, {
headers: {
'Content-Type': 'application/json',
'Cookie': yourcookie
}
}
)
推荐阅读
- rust - 如何将特征绑定到使用 document.create_element 构建的元素
- powerbi - Smartsheet 中的实时更新能否反映在 Power BI 服务报告中?
- docker - 如何为“RUN”命令填充交互式命令的用户输入?
- python - Django 管理员的`add_form` 没有在管理员中显示`CustomUserCreationForm`
- python-3.x - 从用户获取值后如何销毁条目小部件
- wordpress - 联系表 7:范围内没有 p 元素,但看到了 ap 结束标签
- python-3.6 - 反转除标点符号之外的每个单词而不改变它们的位置 - Python3
- user-interface - 如何在 ListView 中调用网络图像类型?
- c# - 定义一个自定义 Attribute 类以使属性在某些条件下可浏览
- android - Android 媒体商店问题:插入新播放列表返回空 URI