关于js传值问题

在js中发送ajax请求返回result
result中为一个Song类型的List集合
以下代码为成功的函数,在执行中控制台会输出
Uncaught TypeError: Cannot read property 'song_name' of undefined 错误
但是页面的数据呈现不会出现错误,可以正常显示。那么这个关于song_name的报错到底是什么地方出现了问题?

success:function(result){
            if(result.status==0){
                var songs = result.data;
                var count = songs[0].song_count;
                for(var i = 0;i<count;i++){
                    var song_name = songs[i].song_name;
                    var song_id = songs[i].song_Id;
                    var artist_name = songs[i].artists_name;
                    var artist_id = songs[i].artists_Id;
                    var album_name = songs[i].album_name;
                    var album_id = songs[i].album_Id;
                    if(i%2==0){
                        createList(song_name,artist_name,album_name);
                    }else{
                        createEvenList(song_name,artist_name,album_name);
                    }                        
                }
            };
阅读 1.9k
1 个回答

建议检查一下count 和 songs.length 。我怀疑count大于了songs.length 出现了songs[i]为空值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题