我正在尝试使用材质设计和angularjs创建一个使用#标签搜索的推文。
getTweets: function(hashtag, since,$http) {
var cfg = {};
var paramSince = since ? '&since_id='+ since : '';
var queryUrl = 'https://api.twitter.com/1.1/search/tweets.json?q=%23'+hashtag+paramSince;
// var queryUrl = '/search?hashtag='+hashtag+paramSince;
var promise = $http.get(queryUrl, cfg).then(function (response) {
return response;
});
return promise;
}
此API返回错误215,错误验证数据
以下是完整的application
重播的步骤:
(i)点击添加帐户
(ⅱ)登录
(iii)点击完成
答案 0 :(得分:0)
$http
未定义。您已将$http
服务注入twitterApp.services
工厂,然后您(尝试)在返回的函数getTweets
内重新声明它。
在这种情况下,没有“魔法”,你用两个参数调用getTweets
,所以$http
变得未定义。解决方案是从getTweets
中删除此参数,并使用$http
作为闭包。
<强>更新强>
在此过程中没有错误处理,当发生错误时,您必须reject
承诺。这样您还可以看到错误来自服务器。
http://plnkr.co/edit/Lbb6EvwsjuecmFn5Vchd?p=preview
正如您在控制台上看到的,当尝试连接时,服务器返回原始错误:
错误:原点“http://run.plnkr.co/Of0F9UHpjhrqkjdw/”不匹配 oauth.io(...)
上的任何注册域名/网址
这可能与您的服务器(在本例中为oauth.io)中的CORS设置有关。