使用angularJS调用uber-api产品的问题

时间:2016-07-28 13:44:34

标签: angularjs uber-api

我正在尝试测试uber-api产品的休息端点,并且无法使用angular获得成功的响应。如果我在浏览器中粘贴$ http.get网址就可以了。但是我总是通过angularjs得到错误响应。下面的jsfiddle是我想要完成的一个剥离的例子。

http://jsfiddle.net/t3kcwc7y/630/

function UberCtrl($scope, $http) {
    $http.get('https://sandbox-api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823&server_token=<token_here>')
  .success(function(data) {
      console.log('success');
      $scope.uberData = data;
  })
  .error(function(data) {
      console.log('error');
      $scope.uberData = 'Error: ' + data;
  });
}

我无法找到现有的jsfiddle / plunker示例,所以很抱歉,如果已经涵盖了这一点。提前谢谢。

有些人注意到,在使用chrome进行测试时,我会在请求的资源上显示“No'Access-Control-Allow-Origin'标头”,这似乎是特定于铬的CORS错误。它适用于Firefox。我的最终目标是从salesforce / force.com执行此操作并在任何浏览器上支持。我不确定CORS错误是否是由jsfiddle引起的。

1 个答案:

答案 0 :(得分:1)

请参阅使用CORS支持的浏览器使用Uber API的示例:

https://developer.uber.com/docs/rides/api-reference

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823');
xhr.setRequestHeader("Authorization", "Token YOUR_SERVER_TOKEN");
xhr.send();