[英]Angular $http and Google Feed API
我是一個初學者,“任務”是拉入RSS提要以用於Angular / Ionic項目。 我可以自己解析RSS feed,也可以使用外部工具(例如Google Feed API)。
我創建了一個服務來獲取數據,然后由Angular控制器使用。
這是服務:
.factory('rssReader', ['$http', function($http) {
return $http.get('URL_HERE')
.success(function(data) {
alert("SUCCESS!!!" + data);//return data;
})
.error(function(data) {
alert("FAILED!!!!" + data);//return data;
});
}]);
使用此CodeCademy URL會發出“ SUCCESS”警報,並返回JSON數據:
http://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json
但是,此Google Feed API URL返回null。 范例網址:
http://ajax.googleapis.com/ajax/services/feed/load?v=2.0&q=http://rss.cnn.com/rss/cnn_topstories.rss&num=5
我在網上看到了一些不同的示例,但是我試圖理解為什么它不起作用。
我是Angular和JavaScript的新手,所以感謝您的幫助。 謝謝!
您的實現是正確的(即使看起來您在服務中和控制器中都在調用.success函數)-但我認為真正的問題實際上出在您試圖調用的資源上。
當我調用s3.amazonaws feed時,正如您所描述的那樣獲取數據,但是在調用GoogleAPI時,由於CORS導致XMLHttpRequest被阻止。 您可以在此處閱讀更多有關CORS(跨源資源共享)標頭的信息。
避免這種情況的一種方法可能是從服務器端而不是直接在瀏覽器中處理對Google API的請求。
希望這可以幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.