html5 – $http不在请求中发送cookie

我们正在使用AngularJS和Java Servlets开发RESTful Web服务。
当用户登录时,我们的后端发送一个“Set-Cookie”头到前端。在Angular中,我们通过$ cookies(ngCookie – module)访问页眉并设置它。

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

OPTIONS请求:

GET请求

我们通过$ 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

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码