Maison  >  Questions et réponses  >  le corps du texte

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的值是这样的。。

滿天的星座滿天的星座2713 Il y a quelques jours610

répondre à tous(3)je répondrai

  • 给我你的怀抱

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

    Vous devez définir un point d'arrêt pour voir quel est l'index récupéré


    Je sais, tu l'as écrit quand tu faisais une boucle

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

    devrait être

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

    Il y a un signe égal supplémentaire. Le dernier élément n'est donc pas défini, il n'y a donc pas d'attribut menuName. . .

    répondre
    0
  • PHP中文网

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

    Il s'agit d'un problème avec vos données d'arrière-plan.

    répondre
    0
  • 巴扎黑

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

    Le problème ici ne devrait pas être que chaque élément sous l'index n'est pas défini. Dans la capture d'écran du questionneur, seul le premier élément est normal. Essayez de le remplacer par ce qui suit :

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

    répondre
    0
  • Annulerrépondre