javascript - Angularjs的cookie问题

 张珮娟7063 发布于 2022-11-15 23:35

是这样的,我用angularjs做一个登录界面,然后登录之后需要跳转主界面,这个主界面向后端发起的操作都必须有这个用户登录的标记,即sessionid,但是由于我的登录界面和主界面是两个界面,所以主界面向后端发起的操作都报401错误,也就是未登录。请问怎么处理这种情况?
后端传过来的sessionid是保存在cookie中的,如图:

我在angularjs中使用$cookies.JSESSIONID是undefined,这个不知道怎么回事?
其次,获取到之后又如何传给主界面呢?

1 个回答
  • 原来一开始就理解的方向就错了,cookie里面的sessionid是不需要程序员来操作的,浏览器自己会维护,除非是你自己设置的cookie。

    这里实际的问题是cookie跨域问题,默认情况下,Cookie不包括在CORS请求之中。如果要把Cookie发到服务器,一方面要服务器同意,指定Access-Control-Allow-Credentials字段。另一方面,开发者必须在AJAX请求中打开withCredentials属性。并且Access-Control-Allow-Origin就不能设为星号,必须指定明确的、与请求网页一致的域名。同时,Cookie依然遵循同源政策,只有用服务器域名设置的Cookie才会上传,其他域名的Cookie并不会上传,且(跨源)原网页代码中的document.cookie也无法读取服务器域名下的Cookie。

    这里主要参考了阮一峰大佬的文章,大家可以看看,确实很有用。感谢大佬~~
    http://www.ruanyifeng.com/blo...

    2022-11-15 23:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有