angular.js - $http中的 for迴圈 Cannot read property 'menuName' of undefined
滿天的星座
滿天的星座 2017-05-15 16:57:32
0
3
636
$http.post('sysIndex/getSysIndexNameAndScoreByCid',{cid:id})
            .success(function(resp, status, headers, config){
                var index=resp.data                    
                for(var i=0;i<=index.length;i++){
                    var name=index[i].menuName;                                        
                }                  
            })


初學angular 為什麼會報這個錯


index的值是這樣的。 。

滿天的星座
滿天的星座

全部回覆(3)
给我你的怀抱

你需要設個斷點,看看取到的index到底是什麼


我知道了,你循環的時候寫了

for(var i=0;i<=index.length;i++)

應該是

for(var i=0;i<index.length;i++){

多了一個等號。所以最後一項是undefined,所以就沒有menuName屬性了。 。 。

Ty80

這是你後台的數據的問題。

巴扎黑

這裡的問題應該不是index下的每一個元素都是undefined,題主的截圖只是第一個元素正常,改成如下試試:

var name = !!index[i]?index[i].menuName:'';
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板