AngularJS:从服务器读取响应数据

时间:2014-11-24 21:58:27

标签: json angularjs

我有一个问题应该解决,但我无法弄清楚我做错了什么。我通过data请求收到了$http

alert(data)

给了我object object

alert(data.response)

给了我{"id":"123456","post_id":"12345"}

alert (data.response.id)

给了我undefined

我的问题:我想获取身份证件。 为什么最后一个表达式给我未定义而不是ID?我是否必须以某种方式转换数据?

我感谢任何提示!

3 个答案:

答案 0 :(得分:6)

看起来你的data.response是一个字符串。 您使用angular.fromJson将其转换为对象,即:

$scope.temp = angular.fromJson($scope.data.response);

请参阅下面的工作演示

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

app.controller('firstCtrl', function($scope){
 $scope.data = {
 response:'{"id":"123456","post_id":"12345"}'
 };
  
  alert($scope.data);
  alert($scope.data.response);
  
   alert($scope.data.response.id);
  
  $scope.temp = angular.fromJson($scope.data.response);
  
  alert($scope.temp.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app">
  <div ng-controller="firstCtrl">

      </div>
</body>

答案 1 :(得分:1)

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

app.controller('list_employeesController', function($scope, $http) {
  // email = $scope.email;
  // psw = $scope.psw;
  $http({
    method: "GET",
    url: "http://localhost:3000/employees",
    params: {}

  }).then(function mySuccess(response) {
      // a string, or an object, carrying the response from the server.
      $scope.myRes = response.data;
      $scope.statuscode = response.status;

    }, function myError(response) {
      $scope.myRes = response.statusText;
  });
});

简单地说myRes有这个请求的响应数据。

我们可以使用angular

中的表达式语法在HTML文件中显示它
 <h2> Result : {{myRes}} </h2>

答案 2 :(得分:-1)

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

app.controller('student_Controller', function($scope, $http) {

  $http({
    method: "GET",
    url: "http://localhost:8000/employees",
  }).then(function mySuccess(response) {

      $scope.res= response.data;
      $scope.statuscode = response.status;

    }, function myError(response) {
      console.log("response--"+response);
  });
});