【问题标题】:AngularJS cookies not setAngularJS cookie 未设置
【发布时间】:2014-08-04 01:09:06
【问题描述】:

我正在开发一个在不同域上使用 API 后端的 AngularJS 网站。

  • 前端网站托管在:www.example.com
  • API 托管在:api.example.com

我使用 Angular 的 $http.post 向设置 cookie 的 API 发出身份验证请求。然后,我对 API 进行二次 $http.get 调用,并且从 POST 请求设置的 cookie 不会被发送回服务器。 cookie 好像在某个地方丢失了。

API 是一个Flask Python 应用程序,我正在使用flask-cors 来启用跨域调用。 Access-Control-Allow-Origin 标头设置为 http://www.example.com 正在设置的 cookie 上的域是 api.example.com

我已经使用 nginx 和 url 重写将应用程序设置为在一个域下运行。因此前端网站位于www.example.com,API 由www.example.com/api/ 访问,cookie 正在按预期保存/使用。

我不知道这是我的前端还是 API 网站配置的问题。

【问题讨论】:

    标签: python angularjs cookies flask http-headers


    【解决方案1】:

    由于您是从另一个域发送 http 请求,因此您需要确保您的 $http 能够发送 cookie。在您的应用配置中,添加:

    $httpProvider.defaults.withCredentials = true
    

    这将允许 AngularJS 将浏览器的 cookie 发送到服务器。

    【讨论】:

    猜你喜欢
    • 2020-12-05
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2018-06-22
    • 2021-10-21
    • 2012-02-11
    相关资源
    最近更新 更多