我正在尝试获取响应对象的属性,但它即将“未定义”
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);
};
});
网络控制台上的输出:
aaaa
angular.min.js:102 ReferenceError: res is not defined
知道我的代码中有什么不正确吗?
最佳答案
所有 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);
});
关于javascript - Angular 休息调用未定义响应对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415524/