我正在尝试获取响应对象的属性,但它即将到来"未定义"
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope, $http) {
$scope.addNewChoice = function () {
console.log('aaaa');
$http.get("http://api.nexmo.com/verify/json?api_key=569b1af&api_secret=d0de241&number=918650298011&brand=MyApp").success(function(response) {$scope.res = response.data;});
console.log(res.request_id);
console.log(res.status);
console.log(res.error_text);
};
});
Web控制台上的输出:
aaaa
angular.min.js:102 ReferenceError: res is not defined
知道我的代码中有什么不对吗?
答案 0 :(得分:1)
您的所有console.log
语句都在$http
回调之外(并且在您的请求完成之前正在运行 - 同样,您没有名为res
的变量 - 您拥有$scope.res
})。
$http.get("http://api.nexmo.com/verify/json?api_key=56a9b1af&api_secret=d30de241&number=919650298011&brand=MyApp").success(function(response) {
$scope.res = response.data;
console.log($scope.res.request_id);
console.log($scope.res.status);
console.log($scope.res.error_text);
});