我正在尝试测试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引起的。
答案 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();