Uncaught TypeError:尝试使用PHP填充响应数据表时,无法读取未定义的属性“ length”?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Uncaught TypeError:尝试使用PHP填充响应数据表时,无法读取未定义的属性“ length”?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1344字,纯文字阅读大概需要2分钟。
内容图文
![Uncaught TypeError:尝试使用PHP填充响应数据表时,无法读取未定义的属性“ length”?](/upload/InfoBanner/zyjiaocheng/662/4a062c15e929425fb55eae1435813eb4.jpg)
我正在尝试使用对PHP脚本的AJAX请求填充响应数据表,该响应以JSON_encode格式返回,我可以在XHR请求中看到该响应:
["abc","def","ght","jkl"]
这是我正在使用的代码:
<table class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
</tr>
</tfoot>
</table>
$('#dataTables-example').DataTable({
responsive: true,
"ajax": "search_autocomplete.php",
});
这是PHP脚本:
if ($result->num_rows >0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$list[] =$row['name'];
}
echo json_encode( $list );
}
解决方法:
当您要插入数组数据源(即不是对象文字)时,源必须是数组数组:
[["abc"],["def"],["ght"],["jkl"]]
$('#dataTables-example').DataTable({
"ajax": {
url: "search_autocomplete.php",
dataSrc: ''
}
});
if ($result->num_rows >0) {
while($row = $result->fetch_assoc()) {
$list[] = array($row['name']); //<----
}
echo json_encode($list);
}
如果使用Jonathans建议json_encode(array(data => $list)),情况也是如此-您仍然需要将每个项目包装到数组中,否则会得到a,d,g等,因为dataTables访问每个字符串作为其期望的数组,每个字符被视为数组的项,列的数据.
if ($result->num_rows >0) {
while($row = $result->fetch_assoc()) {
$list[] = array($row['name']); //<----
}
echo json_encode(array('data' => $list));
}
$('#dataTables-example').DataTable({
"ajax": "search_autocomplete.php"
});
内容总结
以上是互联网集市为您收集整理的Uncaught TypeError:尝试使用PHP填充响应数据表时,无法读取未定义的属性“ length”?全部内容,希望文章能够帮你解决Uncaught TypeError:尝试使用PHP填充响应数据表时,无法读取未定义的属性“ length”?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。