Angular JS:无法读取null的属性“结果”

时间:2015-10-11 19:05:35

标签: javascript jquery angularjs

我正在创建一个AngularJS应用程序,使用$ http服务,我循环对象并在视图中附加第二个图像,以下代码确实有效,并且显示图像,但是,我仍然得到这个错误讯息:

TypeError: Cannot read property 'results' of null
    at MegamanController.js:9
    at Object.m [as forEach] (angular.min.js:8)
    at MegamanController.js:7
    at angular.min.js:87
    at angular.min.js:119
    at n.a.$get.n.$eval (angular.min.js:133)
    at n.a.$get.n.$digest (angular.min.js:130)
    at n.a.$get.n.$apply (angular.min.js:133)
    at h (angular.min.js:87)
    at K (angular.min.js:91)

这是控制器:

app.controller("MegamanController",function($scope,$http){

$http.get("http://www.ajax.googleapis.com/ajax/services/search/images?v=2.0&q=megaman+3")
    .success(function(data)
    {
        console.log(data);
        angular.forEach(data,function(value,key)
        {
            resultados= value.results;
            for(i in resultados)
             {

                imagenes= resultados[i].url;

                una = resultados[1].url;
                console.log(imagenes);

             }
             $(".informacion").append("<img src= '"+una+"'></figure>");
        })

    })
    .error(function(err)
    {
        console.log(err);
    })  
})

2 个答案:

答案 0 :(得分:0)

在创建成功回调之前检查api的响应格式。

我认为你必须迭代data.responseData:

angular.forEach(data.responseData,function(value,key)

答案 1 :(得分:0)

可能是因为结果对象在responseData对象中,所以你需要改变这一行

resultados= value.results;

对于此

resultados= value.responseData.results;

enter image description here