【发布时间】:2019-09-10 02:51:15
【问题描述】:
我已经使用 `json_encode' 函数从我的 php 脚本发送了数据。
如果我 console.log(resp) 下面是我得到的 O/P。
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'));
}
【问题讨论】:
-
正如下面 Jack Bashford 的回答所说... json 看起来像一个对象数组... 即使对象之间没有昏迷 ... 这里可能只是一个错字...否则你会使它成为无效的json。在这种情况下,请查看服务器端以解决该问题。此外,即使您在服务器端使用
json_encode(),也可能会收到一个字符串...试试JSON.parse()。 -
JSON.parse 说
Unexpected token o in JSON at position 1 -
显示如何在服务器端创建该 json...
o可能是接收到的字符串中“object”的第一个字母。这意味着你不需要解析它......但我不确定。 -
PS:更新问题
标签: javascript jquery arrays json object