无法读取属性' firstName'在渲染时为null

时间:2018-03-12 22:10:59

标签: javascript jquery datatables

我有一个储物柜表,其中一些储物柜已分配给学生而其他储物柜未分配(Null studentId)当我尝试返回Student.FirstName时出现错误。登录控制台时,我看到了正确的数据。

  

无法读取属性' firstName'为null       在渲染

注意:我试图在渲染函数中返回第一个Name,因为我试图连接第一个和最后一个Name。

代码:

var table = $('#LockerTable').DataTable({
  ajax: {
    url: '/api/lockers',
    dataSrc: '',
    'data': null
  },
  columns: [
    {data: 'lockerNumber'},
    {data: 'location'},
    {
      'data': 'student.firstName',
      'defaultContent': '',
      'render': function (d, t, r) {
        if (r.student.firstName !== null) {
          console.log(r.student.firstName + r.student.lastName);
          return r.student.firstName + ' ' + r.student.lastName;
        }
        return '';
      }
    }
  ]
});

1 个答案:

答案 0 :(得分:0)

我意识到,在Tapler和Patrick evans的帮助下,我必须检查学生属性本身是否为空。

var table = $("#LockerTable").DataTable({
  ajax: {
    url: "/api/lockers",
    dataSrc: "",
    "data": null
  },
  columns:  [
    {data: "lockerNumber"},
    {data: "location"},  
    {
      data: "student.firstName",                           
      defaultContent: "",
      render: function (d, t, r) {
        if (r.student !== null) {
          console.log(r.student.firstName + r.student.lastName);

          return r.student.firstName + " " +  r.student.lastName;
        }            
        return "";
      }                                                                                  
    }
  ]
});