我正在尝试测试uber-api产品的rest端点,但使用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中测试时,我得到"No 'Access-Control-Allow-Origin‘header is present on the requested“,这似乎是chrome特定的CORS错误。它可以在firefox中工作。我的最终目标是在salesforce/force.com上执行它,并且在任何浏览器上都支持。我不确定CORS错误是不是由jsfiddle引起的。
发布于 2016-08-02 09:28:04
在支持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();https://stackoverflow.com/questions/38638302
复制相似问题