我使用php构建了一个web服务,它读取数据库和echo
json。我去路径看结果,结果是成功的。这是我的网络服务的一个例子。
[{"id":"1","skill":"1","src":"walmart","total":"1"},{"id":"1","skill":"1","src":"target","total":"2"}]
这是我的app.js代码
(function () {
'use strict';
var app = angular.module('myApp', ['angular.filter']);
// Declare app level module which depends on views, and components
app.controller('DeveloperTable', function ($scope, $http) {
var vm = this;
// GET request example:
$http({
method: 'GET',
url: '../_includes/web_service_person.php'
}).then(function successCallback(data) {
vm.developer = data;
}, function errorCallback(data) {
console.log(":(");
});
});
})();
这是我的index.html
<div ng-controller="DeveloperTable">
<h4>Developer Assesment</h4>
<table class="table">
<tr>
<th>pid</th>
<th ng-repeat="(skill, value) in developer | groupBy: 'skill'">
{{skill}}
</th>
</tr>
有趣的是,我的控制台中没有错误,但我也没有获取数据。 我在这里缺少什么?
修改:groupBy
过滤器来自angular-filter library
答案 0 :(得分:1)
ng-repeat
语法为:ng-repeat="(key, value) in myObj"
。基于您发布的json,vm.developer
是一个数组,因此skill
将被设置为数组索引。
我对groupBy: 'did'
也不太确定,因为我在json对象中没有看到任何did
属性。
尝试如下:
<th ng-repeat="data in vm.developer | groupBy: 'id'">
{{data.skill}}
</th>
答案 1 :(得分:1)
一些事情:
您需要在代码中执行$scope.developer = ...
,vm.developer
不在您的范围内。
除此之外,你可以:
在浏览器中打开Firebug,转到网络选项卡,查看对Web服务的HTTP请求。您可以看到它是否返回数据。如果是,请调试它:
查看您的HTML,然后添加<pre>{{developer | json}}</pre>
,我认为您会看到它是空的。