我用ajax初始化了一个数据表,现在当我尝试添加一行时,我什么都没得到。
在控制台中输入add new row命令我收到以下错误:
“未捕获的TypeError:无法读取未定义的属性'add' 时间:2:10 at Object.InjectedScript._evaluateOn(:904:140) at Object.InjectedScript._evaluateAndWrap(:837:34) at Object.InjectedScript.evaluate(:693:21)“
{{1}}
目前,一旦我触发了row.add()函数,它会更新表但重绘它没有新行吗?关于我做错了什么的暗示?
非常感谢!
答案 0 :(得分:5)
您需要使用与row.add()
相同的结构作为表结构。
来自manual:
如果使用数据结构(即数组或对象),则它必须与表中的其他数据具有相同的格式(即,如果表使用对象,则在此处传入具有相同属性的对象!)。< / p>
例如:
table.row.add( {
'last_name': last,
'first_name': first,
'email': email,
'phone': ''
} ).draw();
您还使用服务器端处理模式serverSide: true
和draw()
导致脚本再次从服务器检索数据。由于您的记录不在服务器上,因此DataTables仅检索服务器上可用的记录,并忽略新添加的记录。
在这种情况下,最好的办法是在服务器上添加记录,然后使用draw()
或ajax.reload()
API方法。