express搭建的后台
跨域名请求,chrome浏览器network中无法查看到set-cookie的请求头,但是edge可以。
然而虽然chrome无法查看到set-cookie,但是第二次请求后台却可以从request中读取到之前设置的cookie。
跨域的请求头已经设置,ajax也设置了withCredentials:true.
chrome下的请求
后台可以获取到cookie
edge下的请求
edge发出的请求,后台也可以正常获取cookie
express中的代码
router.post('/login',function(req,res) {
var {username, password} = req.body;
var user = new User({name:username,pw:password});
userService.query(user,function(user) {
var result = new ResResult({code:1,data:user});
console.log('Cookies: ', req.cookies)
// Cookies that have been signed
console.log('Signed Cookies: ', req.signedCookies)
res.cookie("user",user.name,{
sameSite: false
})
res.json(result);
})
})
但是还有费解的是,如果不跨域名而只是端口号不一样,chrome中可以正常显示set-cookie出来
差点点错点成踩了?
我怀疑这是chrome有意为之的,因为跨域的cookie无法用js操作,所以意义不大。
真要看,可以在application里面看。