javascript - AngularJS 从外部 URL 获取 JSON 数据

标签 javascript json angularjs

这是 URL,在浏览器中呈现为 JSON:

http://api.geosvc.com/rest/US/84606/nearby?apikey=4ff687893a7b468cb520b3c4e967c4da&d=20&pt=PostalCode&format=json

这是我尝试将数据存储在变量中的方法:

$http.get('http://api.geosvc.com/rest/US/84606/nearby?apikey=4ff687893a7b468cb520b3c4e967c4da&d=20&pt=PostalCode&format=json').then(function(response) {
            $scope.zipCodes = response;
          });

这是我尝试显示它的 HTML:

<pre>zipCodes {{zipCodes | json}}</pre>

但没有任何显示,知道我做错了什么吗?

我也尝试过这个:

$http.jsonp('http://api.geosvc.com/rest/US/84606/nearby?apikey=4ff687893a7b468cb520b3c4e967c4da&d=20&pt=PostalCode&format=json').then(function(response) {
                $scope.zipCodes = response;
              });

我也尝试过 AngularJS 资源,但也返回未定义:

var zipCodes = $resource("http://api.geosvc.com/rest/US/84606/nearby?apikey=4ff687893a7b468cb520b3c4e967c4da&d=20&pt=PostalCode&format=json",
            { callback: "JSON_CALLBACK" },
            { get: { method: "JSONP" }}
            );
        zipCodes.get({}, function(zipCode){
            console.debug(zipCode.PostalCode);
        });
        console.debug(zipCodes.get());
        $scope.zipCodes = zipCodes.get().results;

最佳答案

您需要使用 response.data 因为在使用 .then 时您会在 response 对象中获取所有 4 个参数,即 data状态 header 配置

$scope.zipCodes = response.data;

替代方案

您可以使用successerror函数

$http.get('http://api.geosvc.com/rest/US/84606/nearby?apikey=485a35b6b9544134b70af52867292071&d=20&pt=PostalCode&format=json')
.success(function(data, status, headers, config) {
     $scope.zipCodes = data;
})
.error(function(error, status, headers, config) {
     console.log(status);
     console.log("Error occured");
});

关于javascript - AngularJS 从外部 URL 获取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30112306/

相关文章:

javascript - Redux:连接组件列表的性能

javascript - ng-click 与点击事件

javascript - if 忽略条件 JQuery

angularjs - 将服务数据绑定(bind)到 Angular View 的最佳实践是什么(1.3)

php - 从 SQL Server 检索数据并将其转换为 json 格式?

javascript - 用javascript替换所有选定的元素

Java FileWriter 不写入文件

javascript - 读取.log文件并转换为json

java - 使用 JSON 列表的 HTTP 客户端发送和解析响应

javascript - AngularJS : How to bind an event to a dynamically generated html with ng-bind-html