2014-11-08 52 views
6

正如标题所示,我需要传递授权令牌,但是当我检查网络控制台时,我得到了403,因为接受和授权不在那里。注意:我为此示例删除了我的授权令牌

$http({ 
     url: 'http://api.stubhub.com/search/catalog/events/v2?title="san"', 
     dataType: 'json', 
     method: 'GET', 
     data: '', 
     headers: { 
      "Content-Type": 'application/json', 
      "Authorization": 'Bearer {token}' 
     } 
    }).success(function(response){ 
     $scope.searchResponse = response; 
    }).error(function(error){ 
     $scope.error = error; 
    }); 

这似乎是正确的语法?这里有什么问题?

编辑:添加XHR截图

enter image description here

编辑:2,这是我的网络流量,HAR孔糊箱:

http://pastebin.com/fiFngZSy

+0

该语法完全正常, 调试时间,您可以在请求发出后打印屏幕XHR部分吗?请按要求标签。确保令牌在那里,你可以看到该字段。 – Linial 2014-11-08 19:14:01

+0

我用相同的语法做了这个plunk,看看它在工作的控制台日志。 http://plnkr.co/edit/fWaAtpF48nHO5gGlgvN7?p=preview – Linial 2014-11-08 19:15:05

+0

有趣的是,身份验证令牌不存在...这就是为什么我得到一个403. – Garuuk 2014-11-08 19:48:15

回答

1

上XHR请求设置自定义页眉触发预检请求。

我敢打赌,您看到一个没有Authorization标题的OPTIONS请求,并且其相应的响应的Access-Control-Allow-Headers标题值未列出Authorization,或者API甚至不允许未经授权的OPTIONS请求。

我不知道stubhub API,但它是否返回符合CORS的响应?

+0

它确实。当我使用restangular,我实际上可以得到200.我认为restangular是问题,所以我切换到只是$ http。这是我的其他线程与restangular http://stackoverflow.com/questions/26809680/200-response-but-no-json-data-returned-restangular-issue – Garuuk 2014-11-08 19:47:38