如何使用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;
});
}]);
感谢您的帮助..
答案 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);
将允许您检查响应对象。