我正在尝试使用angularjs从外部域中提取数据。我在控制台中没有看到任何问题。我尽力而为fiddled here。任何帮助或指针都会很棒。
Vie Code
<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)
});
};
});
答案 0 :(得分:2)
您的代码很好,但您在标记中遗漏了一些内容。您遗失了ng-app
,而您应该{{myData}}
而不是{{response}}
(因为myData
绑定到您的范围并分配给response
,所以没有变量命名response
绑定到您的范围)。见plunker
<body ng-app="myApp">
<div ng-controller="myCtrl">{{myData}}
<button ng-click="getData()">GET Request</button>
</div>
</body>
答案 1 :(得分:1)
使用浏览器开发工具网络标签显示什么?请求是否成功,甚至提出了请求?
答案 2 :(得分:1)
只需在正文或html
中添加ng-app
即可
通过查看你的jsFiddle明确表示你的问题是你没有在你的html中添加应用名称。
以下是您的更新jsFiddle:http://jsfiddle.net/kn4yaoco/3/
您可以在控制台中看到您的请求正在正确回复。
答案 3 :(得分:0)
您应.then
使用$ http,例如:
$http.get("http://api.openweathermap.org/data/2.5/weather?zip=98007,us")
.then(function(response) {
console.log(response);
}):
最佳