AngularJS $资源GET适用于Chrome,但在Firefox

时间:2015-07-13 15:17:15

标签: javascript angularjs google-chrome firefox angular-resource

所以我使用$ resource

获得角度的基本自定义GET
angular.module('myApp')
  .factory('MyService', function($resource){
    return $resrouce('some url',
    {},
    {
       list: {method:'GET', params:{}}
    });
  });

然后我就像这样使用它

MyService.list().$promise.then(function(data){
   //do something
});

当我在Chrome(33)中使用它时,它可以工作。在firefox(10.0.2)中我得到了一个

401 unauthorized

如果我直接在firefox中找到url,我会得到数据。

服务和我的页面托管在不同的框中。我想知道它是否与跨站点保护有关?有什么想法吗?

编辑:我已按照this的答案尝试启用CORS,但再次没有帮助。

EDIT2:401响应没有正文。标题非常基本...

HTTP/1.1: 401 Unauthorized
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 UTC
Content-Length: 1174
Date: Tue, 14 Jul 2015 08:52:16 GMT

1 个答案:

答案 0 :(得分:0)

问题解决了。我需要添加

$httpProvider.defaults.withCredentials = true;

看起来这是一个CORS错误