javascript - 如何解析 PHP scipt 接收到的 JSON 数据
问题描述
我已经使用 `json_encode' 函数从我的 php 脚本发送了数据。
如果我console.log(resp)
在下面是 O/PI 获取。
data: "{"dept_name":"IT","city_name":"Mumbai","emp_id":"#AC001","emp_name":"Akshay S. Shrivastav"}
{"dept_name":"IT","city_name":"Mumbai","emp_id":"#AC003","emp_name":"Aakash Shrivastav"}" status: "success"
但是,如果我console.log(resp.data)
得到以下数据
{"dept_name":"IT","city_name":"Mumbai","emp_id":"#AC001","emp_name":"Akshay S. Shrivastav"}{"dept_name":"IT","city_name":"Mumbai","emp_id":"#AC003","emp_name":"Aakash Shrivastav"}
现在我正在尝试在我使用以下代码的数据表中显示这些数据。
$('#grpList').DataTable().row.add([
resp.data.dept_name,
resp.data.city_name,
resp.data.emp_id,
resp.data.emp_name
]).draw(false);
我收到以下错误
DataTables warning: table id=grpList - Requested unknown parameter '0' for row 0, column 0. For more information about this error, please see http://datatables.net/tn/4
当我单手显示时console.log(resp.data.dept_name)
,它说undefined
如果数据增加,我将有多个 JSON 响应,目前,我只有两个。我无法弄清楚如何使用循环显示多个数据并将其附加到数据表中。
我正在使用下面的 php 代码来生成 JSON
$jsonArray = "";
if($data->num_rows > 0)
{
while($row = $data->fetch_assoc())
{
$jsonArray .= json_encode(
array(
"dept_name" => $row['department_name'],
"city_name" => $row['city_name'],
"emp_id" => $row['emp_id'],
"emp_name" => $row['name']
));
}
echo json_encode(array("data" => $jsonArray, "status" => 'success'));
}
解决方案
因为resp.data
是一个对象数组。您需要先获取索引 - 比如说 index 0
,或者数组中的第一个对象:
$("#grpList").DataTable().row.add([
resp.data[0].dept_name,
resp.data[0].city_name,
resp.data[0].emp_id,
resp.data[0].emp_name
]).draw(false);
如果你想要第二个对象:
$("#grpList").DataTable().row.add([
resp.data[1].dept_name,
resp.data[1].city_name,
resp.data[1].emp_id,
resp.data[1].emp_name
]).draw(false);
当然,row.add()
也接受一个数组参数 - 所以这也可以:
$("#grpList").DataTable().row.add(resp.data).draw(false);
推荐阅读
- java - 日期格式将 2019-08-07T20:11:59.6250889+09:30 解析为 UTC Java LocalDateTime
- nuxt.js - 在 Nuxt.js 项目中使用 normalize.css 的最佳方式是什么?
- flutter - 在颤动中单击后使小部件旋转 90 度
- html - 我的链接/脚本标签(提供缓存的 Bootstrap 版本)是否正确?Bootstrap Carousel 拒绝滑动
- cupy - 遍历数组时,Cupy 比 numpy 慢
- microsoft-graph-api - 如何使用图形 API 从 OneDrive 中的 Excel 获取图表
- javascript - I have two data structures that have some duplicated information. Is there a way to reduce this duplication using .map?
- node.js - 在 Windows 中运行在 Mac 上创建的电子项目时如何避免错误?
- vue.js - vue-router 中的 next() 守卫功能如何工作?
- python - Django/Python 缓存解决方案,我可以使用复杂的键而不是字符串来访问