angular.js - $http中的 for循环 Cannot read property 'menuName' of undefined
滿天的星座
滿天的星座 2017-05-15 16:57:32
[AngularJS讨论组]
$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属性了。。。

PHP中文网

这是你后台的数据的问题。

巴扎黑

这里的问题应该不是index下的每一个元素都是undefined,题主的截图只是第一个元素正常,改成如下试试:

var name = !!index[i]?index[i].menuName:'';
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号