Ionic / Angular js从服务器解析JSON数据

时间:2015-12-26 03:18:36

标签: angularjs json ionic

如何使用Ionic / Angular js从服务器解析JSON对象?从/ js文件夹加载json时,这对我有用:

var rssApp = angular.module('myApp', []);
rssApp.controller('datas', ['$scope', '$http', function($scope,$http) {
$http.get("js/data.json") // <=== this
  .then(function (response) 
  {
   $scope.dat = response;
  });
}]);

但是当我从网络服务器加载json时,我得到了空白,这是我的代码:

var rssApp = angular.module('myApp', []);
rssApp.controller('datas', ['$scope', '$http', function($scope,$http) {
$http.get("http://localhost/data.json") //<== this 
  .then(function (response) 
  {
   $scope.dat = response;
  });
}]);

感谢您的帮助..

2 个答案:

答案 0 :(得分:0)

分析到目前为止你所做的事情,我想你的数据是从网络服务器返回的一个数组,因为你的代码是空白的。因此,您应该将响应[0] 分配给 $ scope.dat

var rssApp = angular.module('myApp', []);
rssApp.controller('datas', ['$scope', '$http', function($scope,$http) {
$http.get("http://localhost/data.json") //<== this 
  .then(function (response) 
  {
   $scope.dat = response[0];
  });
}]);

答案 1 :(得分:0)

第一

Angular的$http承诺回复contains a few properties

从服务器返回的数据将位于data属性中。

来自Angular docs:

  

响应对象具有以下属性:

     
      
  • data - {string | Object} - 使用。转换的响应主体   `转换函数。
  •   
  • status - {number} - 响应的HTTP状态代码。
  •   
  • headers - {function([headerName])} - 标头获取功能。
  •   
  • config - {Object} - 用于生成请求的配置对象。   statusText - {string} - 响应的HTTP状态文本。
  •   

此外,您还要确保端点指向正确的资源。 即如果data.json在您的应用程序文件中,则路径为path/to/data.json。这应该很容易识别,因为您将获得带有响应对象的404状态代码。

解决方案

所以你可能想做类似的事情:

var endpoint = "path/to/data.json";
$http.get(endpoint).then(function (response) {
   $scope.dat = response.data;
});

还有一件事

此外,如果有疑问,用户console.debug(response);将允许您检查响应对象。