【问题标题】:Issues with calling uber-api products with angularJS使用 angularJS 调用 uber-api 产品的问题
【发布时间】:2016-12-02 23:02:28
【问题描述】:

我正在尝试测试 uber-api 产品休息端点,但无法使用 angular 获得成功的响应。如果我将 $http.get url 粘贴到浏览器中,它就可以工作。但是我总是通过 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 中进行测试时,我得到“请求的资源上不存在'Access-Control-Allow-Origin'标头”,这似乎是 chrome 特定的 CORS 错误。它适用于火狐。我的最终目标是从 salesforce/force.com 执行此操作并在任何浏览器上提供支持。我不确定CORS错误是否是由于jsfiddle引起的。

【问题讨论】:

  • 在尝试在 UBER 端和 Angular 端进行 CORS 配置之后。我将调用从浏览器 javascript 调用移动到服务器 http 调用,这对我有用。

标签: angularjs uber-api


【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    相关资源
    最近更新 更多