响应对象属性未定义为角度休息调用

时间:2015-07-14 19:22:40

标签: javascript angularjs rest

我正在尝试获取响应对象的属性,但它即将到来"未定义"

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

知道我的代码中有什么不对吗?

1 个答案:

答案 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);
});