使用jQuery进行休息调用:无法解析数据

时间:2016-11-22 23:18:01

标签: javascript jquery json rest

我使用Slim Framework 3(在PHP中)编写了一个小的Web服务,所有返回的数据都是用这个指令编写的:

return $response->withJson($liste);

然后我使用“jquery.rest”插件编写了一个HTML客户端,我可以看到JSON结果,但无法理解结构以及如何读取所有这些数据,请查看浏览器的控制台:

enter image description here

我想写一个循环来显示数据,但无法弄明白!

enter image description here

谢谢:)

2 个答案:

答案 0 :(得分:1)

根据浏览器控制台,您在响应中收到array of objects

您可以通过不同方式解析此响应:

在Javascript中

使用in循环:



var obj = [
           {"id":"1","task":"Find Bugs","status":"1","created_at":"2016-04-10 23:50:40"},
           {"id":"2","task":"Review","status":"1","created_at":"2016-04-10 23:50:40"}
          ];
		  
for (var i in obj) {
  console.log("Task is :"+obj[i].task);
}




使用数组map()方法:



var obj = [
           {"id":"1","task":"Find Bugs","status":"1","created_at":"2016-04-10 23:50:40"},
		   {"id":"2","task":"Review","status":"1","created_at":"2016-04-10 23:50:40"}
		  ];
		  
var res = obj.map(function(item) {
  return item.task;
});		  

console.log(res);




在AngularJS

使用ng-repeat:



var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl',function($scope) {
        $scope.obj = [
               {"id":"1","task":"Find Bugs","status":"1","created_at":"2016-04-10 23:50:40"},
               {"id":"2","task":"Review","status":"1","created_at":"2016-04-10 23:50:40"}
              ];
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
  <div ng-repeat="item in obj">
  {{item.task}}
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

  

我可以看到JSON结果,但无法理解结构

您正在获取一系列对象。

  

如何阅读所有这些数据

您可以使用map来解析它:

result.map(function(obj) { 
     console.log(obj.id,obj.task,obj.status);
});

希望这有帮助。

示例:

&#13;
&#13;
var result = [{id: 1, task: "Find", status: 1},{id: 2, task: "Review", status: 2}];

result.map(function(obj) { 
    console.log(obj.id,obj.task,obj.status);
});
&#13;
&#13;
&#13;