为了账号安全,请及时绑定邮箱和手机立即绑定

前后端分离的项目中,返回的cookie为空,每次调用接口接收的sessionid都不一样

/ 猿问

前后端分离的项目中,返回的cookie为空,每次调用接口接收的sessionid都不一样

繁星淼淼 2019-01-17 08:21:03

前端用angular写的,能接受到后台传入的session,保存在cookie里面($cookies.put("jsessonid", response.data.sessionId);),都能正常读取,但是就是服务端接收不到。
每次调用接口都是返回一个新的session,头疼!
也考虑过是跨域的问题,加了$httpProvider.defaults.withCredentials = true; 浏览器就报跨域的问题,但后台说和这个关系不大(#sad)
难道是要把cookie加到请求头里?跪求大佬能解答下我的疑惑!十分感谢

查看完整描述

3 回答

?
守着一只汪

首先如果跨域情况下想协带cookie,必须配置

withCredentials = true

配置之后将会报出同源策略错误,解决方案是指定

res.setHeader('Access-Control-Allow-Origin','http://172.19.0.215:3333');

需要注意是,当配置了xhr.withCredentials = true时,必须在后端增加 response 头信息Access-Control-Allow-Origin,且必须指定域名,而不能指定为*。当前示例所采用的node端配置代码:

可以参考下我之前写的相关文章 ajax中的withCredentials使用效果

查看完整回答
反对 回复 2019-03-01
?
智慧大石

试着在request的options中添加如下代码:

options.withCredentials = true
查看完整回答
反对 回复 2019-03-01
?
蝴蝶不菲

让后台传给你sessionid,请求参数时候带sessionid去找回之前session存储信息

查看完整回答
反对 回复 2019-03-01

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信