我有一个问题应该解决,但我无法弄清楚我做错了什么。我通过data
请求收到了$http
。
alert(data)
给了我object object
alert(data.response)
给了我{"id":"123456","post_id":"12345"}
alert (data.response.id)
给了我undefined
我的问题:我想获取身份证件。 为什么最后一个表达式给我未定义而不是ID?我是否必须以某种方式转换数据?
我感谢任何提示!
答案 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);
});
});