我们正在开发一个使用AngularJS和Java Servlet的RESTful We服务。当用户登录时,我们的后端会向前端发送一个"Set-Cookie“头。在Angular中,我们通过$cookies
(ngCookie - module)访问头部并设置它。
现在用户已经登录,例如,他可以删除一些内容。因此,前端向后端发送GET请求。因为我们在不同的域上工作,所以我们需要设置一些CORS头,并且Angular在实际的GET请求之前执行OPTIONS请求:
选项请求:
GET请求
我们在Angular中通过$http模块执行此操作,但它不会发送包含JSESSIONID
的cookie。
如何启用Angular发送cookies?
发布于 2013-06-12 20:30:25
在配置中,DI $httpProvider
,然后将withCredentials设置为true:
.config(function ($httpProvider) {
$httpProvider.defaults.withCredentials = true;
//rest of route code
})
有关angularjs withCredentials的信息:http://docs.angularjs.org/api/ng.$http
发布于 2015-11-06 06:07:58
$http.get("URL", { withCredentials: true })
.success(function(data, status, headers, config) {})
.error(function(data, status, headers, config) {});
另一件要记住的事情是:你需要启用第三方cookies的。如果你在Chrome中全局禁用了它,点击域名左边的"i"-Symbol,然后点击cookies,然后“拦截”并解除对目标域名的拦截。
https://stackoverflow.com/questions/17064791
复制相似问题