首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >$http不在请求中发送cookie

$http不在请求中发送cookie
EN

Stack Overflow用户
提问于 2013-06-12 19:52:54
回答 2查看 68.3K关注 0票数 73

我们正在开发一个使用AngularJS和Java Servlet的RESTful We服务。当用户登录时,我们的后端会向前端发送一个"Set-Cookie“头。在Angular中,我们通过$cookies (ngCookie - module)访问头部并设置它。

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

选项请求:

GET请求

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

如何启用Angular发送cookies?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-12 20:30:25

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

代码语言:javascript
复制
.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

票数 138
EN

Stack Overflow用户

发布于 2015-11-06 06:07:58

代码语言:javascript
复制
$http.get("URL", { withCredentials: true })
  .success(function(data, status, headers, config) {})
  .error(function(data, status, headers, config) {});

另一件要记住的事情是:你需要启用第三方cookies的。如果你在Chrome中全局禁用了它,点击域名左边的"i"-Symbol,然后点击cookies,然后“拦截”并解除对目标域名的拦截。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17064791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档