我正在尝试连接到Untappd API trought angular.js; API文档说
每当您打电话给API时,您必须将您的客户ID和客户端密码作为GET参数传递,如下所示 http://api.untappd.com/v4/method_name?client_id=CLIENTID&client_secret=CLIENTSECRET
有角度我已经完成了这个简单的控制器
function UntappdController($scope,$http) {
$http.get('http://api.untappd.com/v4/user/badges/jonnyjava?client_id=XXX&client_secret=XXX').success(function(data) {
alert('ok');
}).
error(function(data, status, headers, config) {
alert('ko');
});
}
UntappdController.$inject = ['$scope', '$http'];
但它不起作用。 (我总是得到KO)
所以我试过了一个RESTful服务。就这样
angular.module('BadgeServices', ['ngResource']).
factory('Badge', function($resource){
return $resource('http://api.untappd.com/v4/user/badges/jonnyjava/', {}, {
query: {method:'GET',params:{client_id: 'XXX', client_secret: 'XXX'}, isArray:true}
});
});
但这也不行...... 我做错了什么?我很有棱角。它看起来很简单,但我遗漏了一些基本的东西......
答案 0 :(得分:0)
error
函数传递给这些变量:data, status, headers, config
。检查他们的内容 - 我确定服务器有一些指定出错的原因。
答案 1 :(得分:0)
抱歉,我忘记了!这是我用错误函数得到的..
data: status:0 headers:function (name) {
"use strict";
if (!headersObj) headersObj = parseHeaders(headers);
if (name) {
return headersObj[lowercase(name)] || null;
}
return headersObj;
}config:[object Object]
没有任何帮助...
答案 2 :(得分:0)
解决!这是一个CORS问题。如果有人感兴趣,解决方案就在这里。 stackoverflow-Angularjs issue $http.get not working