【问题标题】:Uncaught TypeError: Cannot read property 'company_id' of undefined [closed]未捕获的类型错误:无法读取未定义的属性“company_id”[关闭]
【发布时间】:2015-04-23 13:53:52
【问题描述】:

我的脚本出现了这个错误,奇怪的是,它仍然有效。它仍然可以正常运行并更改值。

Uncaught TypeError: Cannot read property 'company_id' of undefine.

这是我的代码:

for(i=0; i<=getUsersCount; i++){
            var user = null;
            var uCompany = null;
            if(getUsers.data[i].company_id === null) uCompany = "Trego";
            else uCompany = getUsers.data[i].company[0].name;
            user = '<tr><th scope="row" class="u'+i+'">'+getUsers.data[i].user+'</td><td class="u'+i+'">'+getUsers.data[i].email+'</td><td class="u'+i+'">'+getUsers.data[i].first+'</td><td class="u'+i+'">'+getUsers.data[i].last+'</td><td class="u'+i+'">'+uCompany+'</td><td><center><button type="button" id="edit'+getUsers.data[i].id+'" class="btn btn-success" data-toggle="modal" data-target="#eUserModal"><span class="glyphicon glyphicon-pencil" style="color:#FFF" aria-hidden="true"></span></button>  <button type="button" id="delete'+getUsers.data[i].id+'" class="btn btn-danger" data-toggle="modal" data-target="#dUserModal"><span class="glyphicon glyphicon-trash" style="color:#FFF" aria-hidden="true"></span></button></center></td></tr>';
            $('#getUsersTable').append(user);
        }

这不是一件大事,只是在我的控制台中出现错误很烦人。有什么想法吗?

【问题讨论】:

  • i
  • 显然,问题是在0getUsersCount(含)之间存在i,因此getUsers.data[i]undefined

标签: javascript arrays ajax typeerror


【解决方案1】:

您的循环正在迭代 getUsersCount + 1 次,因此 getUsers.data[getUsersCount + 1] 未定义。尝试以下修复:

for(i=0; i<getUsersCount; i++)

【讨论】:

  • 成功了!太感谢了。如果我可能会问,为什么我会
  • 假设您的 usersCount 是 5。for 循环从 0 迭代到 5(0、1、2、3、4、5),计算 6 个索引。最后一个索引不存在并抛出异常。
  • @JacobAntonRhoads 数组中的第一个条目位于索引0,最后一个位于array.length-1。因此,假设getUsers.data 是一个数组,getUsersCount 是它的长度,i 不应该达到getUsersCount
  • getUsers.data[i] 在您多次运行循环时超出范围。因此,在 getUsers.data[i].company_id 中,getUsers.data[i] 为“未定义”,因此错误“无法读取未定义的属性 company_id
猜你喜欢
  • 2021-09-24
  • 2020-11-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2015-01-06
  • 2017-07-26
  • 2016-10-08
相关资源
最近更新 更多