搜尋

首頁  >  問答  >  主體

angular.js - $http中的 for迴圈 Cannot read property 'menuName' of undefined

$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的值是這樣的。 。

滿天的星座滿天的星座2744 天前639

全部回覆(3)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:59:32

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


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

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

    應該是

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

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-15 16:59:32

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

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-15 16:59:32

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

    var name = !!index[i]?index[i].menuName:'';

    回覆
    0
  • 取消回覆