通过vue-resource发起请求,express设置cookie,页面无法获取到cookie
我发起的是跨域请求,分别是在localhost的3000和8080端口下。
我在前台js中对跨域做了如下设置,
这是在Vue.use(VueResource)
后设置的
Vue.http.options.xhr = { withCredentials: true }
这是在一个.vue
组件下设置的
ready () {
this.$http
.get(config.dev.host + '/api/foo', {
credentials: true
})
.then((data) => {
console.log(data)
}, (err) => {
console.log(err)
})
},
这是后台res.header('Access-Control-Allow-Credentials', true);
router.get('/foo', function (req, res, next) {
res.cookie('userdd', 'd', { domain: 'http://localhost:8080/', maxAge: 9000000 })
res.send({
state: 0,
msg: 'foolish'
})
})
然后Set-Cookie字段会在network请求中中response中出现,但是document.cookie却没有。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
同问
一样不生效
在跨域时,如果是非简单请求,浏览器会默认自动帮你发一个OPTIONS
请求,到服务器端请求服务器确认该请求的合法性,服务器端必须得有相应
的路由处理该请求,并认真返回200响应,然后浏览器才会再次发出
正常的、你需要的请求
http://www.ruanyifeng.com/blo...*/
后台返回的时候还要加上httpOnly:false,我在这里 看到的
问题解决了吗?如何设置和读取cookie啊