[英]Not getting json data from json-angularjs call to an external url with $http.get
[英]AngularJS $http.get not working with external domain json data
我正在嘗試使用angularjs從外部域中提取數據。 我在控制台中看不到任何問題。 我竭盡全力在這里擺弄 。 任何幫助或指針將是巨大的。
競爭代碼
<div ng-controller="myCtrl">{{response}}
<button ng-click="getData()">GET Request</button>
</div>
控制器代碼
angular.module('myApp', [])
.controller('myCtrl', function ($scope, $http) {
$scope.getData = function () {
$http.get("http://api.openweathermap.org/data/2.5/weather?zip=98007,us").success(function (response) {
$scope.myData = response;
console.log(response)
});
};
});
您的代碼很好,但是您在標記中遺漏了一些東西。 您缺少ng-app
,應該進行{{myData}}
而不是{{response}}
(因為myData
已綁定到您的作用域並分配給response
,所以沒有變量名為response
綁定到您的作用域)。 見朋克
<body ng-app="myApp">
<div ng-controller="myCtrl">{{myData}}
<button ng-click="getData()">GET Request</button>
</div>
</body>
使用瀏覽器開發工具,“網絡”選項卡顯示什么? 請求成功了嗎?
只需在正文或html中添加ng-app
通過查看您的jsFiddle,可以清楚地看到您的問題是您沒有在html中添加應用程序名稱。
這是您的更新jsFiddle: http : //jsfiddle.net/kn4yaoco/3/
您可以在控制台中看到您的請求正在正確響應。
您應該使用$ http .then
,然后這樣:
$http.get("http://api.openweathermap.org/data/2.5/weather?zip=98007,us")
.then(function(response) {
console.log(response);
}):
最好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.