html - $http 不在请求中发送 cookie

标签 html angularjs webkit xmlhttprequest

我们正在使用 AngularJS 和 Java Servlet 开发 RESTful Web 服务。 当用户登录时,我们的后端向前端发送一个“Set-Cookie” header 。在 Angular 中,我们通过 $cookies(ngCookie - 模块)访问 header 并设置它。 enter image description here

现在用户已经登录,他可以删除一些东西。因此,前端向后端发送 GET 请求。因为我们在不同的领域工作,所以我们需要设置一些 CORS header ,并且 Angular 在实际 GET 请求之前执行 OPTIONS 请求:

OPTIONS 请求: OPTIONS request

GET 请求 GET request

我们通过 $http 模块在 Angular 中执行此操作,但它不会发送包含 JSESSIONID 的 cookie。

如何让 Angular 发送 cookie?

最佳答案

在您的配置中,DI $httpProvider 然后将 withCredentials 设置为 true:

.config(function ($httpProvider) {
    $httpProvider.defaults.withCredentials = true;
    //rest of route code
})

关于 angularjs withCredentials 的信息:http://docs.angularjs.org/api/ng.$http

其中链接到 mozilla 文章:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control#section_5

关于html - $http 不在请求中发送 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17064791/

相关文章:

html - 内联 SVG 元素移动悬停区域

javascript - 单击扩展程序图标时如何自动从剪贴板复制?

node.js - Node.js 应用程序中未定义 Angular

css - 以编程方式更改 Chrome 中标题和地址栏的字体类型

html - 我应该在哪里安装 webkit 的插件?

html - 套接字 IO - 新 session 触发断开连接

jquery - 根据另一个选择元素禁用 Bootstrap 选择

javascript - 使用嵌套的 ng-Repeat 生成 HTML 结构

javascript - AngularJS 中的 "=*"是什么

css - Webkit CSS animation-fill-mode 似乎覆盖了 CSS 媒体查询