nodejs删除如何客户端cookie。
我做了两个接口,
a接口访问之后会在页面设置一个cookie。
b接口访问之后会删除刚才的cookie,
但是我的b接口无法删除
res.setHeader("Set-Cookie", ["id="]);
我使用这种方法可以清除,但是客户端还是会留下id= 这样的字段,有没有什么方法直接删除呢?
nodejs删除如何客户端cookie。
我做了两个接口,
a接口访问之后会在页面设置一个cookie。
b接口访问之后会删除刚才的cookie,
但是我的b接口无法删除
res.setHeader("Set-Cookie", ["id="]);
我使用这种方法可以清除,但是客户端还是会留下id= 这样的字段,有没有什么方法直接删除呢?
我是初一的写的可能不对,谅解
function cookie2Json() {
if (req.headers.cookie&&req.headers.cookie.indexOf('; ')) {
let cookieArr = req.headers.cookie.split("; ");
let obj = {}
cookieArr.forEach((i) => {
let arr = i.split("=");
obj[arr[0]] = arr[1];
})
return obj
} else {return null;}
}
res.cookie=function(id, value, json={path: '/', maxAge: null, expires: null, domain: null}) {
if (json.maxAge != null){
json.maxAge = '; max-age=' + json.maxAge;
}
if (json.expires != null){
json.expires ='; expires='+ json.expires;
}
if (json.domain != null){
json.domain ='; domain='+ json.domain;
}
this.setHeader('set-cookie', id+'='+value+'; path='+json.path+json.maxAge+json.expires+json.domain);
}
res.clearCookie=function(id, path='/') {
this.setHeader('set-cookie', id+'=; maxAge=0; path='+path);
}
req.cookie = cookie2Json();
req.url=url.parse(req.url)
注意只能在res.writeHead
前使用
这个是给http库的
5 回答4.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答2k 阅读
3 回答2k 阅读
1 回答3.3k 阅读
1 回答2.7k 阅读