JSON 编码 PHP 不是对象?
JSON encoded PHP not an object?
我正在尝试通过 Ajax 发送数据,但出现以下错误:
Data Loading Warning - Invalid row data detected and ignored, expecting
object but received: {PK:'2', ID:'3'} (anonymous) @ tabulator.min.js:2
我创建了一个 PHP 字符串,我将其放入数组并使用 json_encode()
。它识别数组,但不识别其中的对象。我还需要做些什么才能将其读取为 JSON 对象吗?
我创建的字符串如下:
$datarray = [];
while ($fetch = $stmt->fetch()){
$data = "{ PK:'2', id:'23' }";
array_push($datarray, $data);
}
echo json_encode($datarray);
这是在 ajax 请求的页面中。该字符串最初由查询填充,但我对其进行了简化,但仍然无法正常工作。
在 js 中使用之前需要解析 json 字符串:JSON.parse(data)
我发现了这个问题。要使用 json_encode
,它必须采用 PHP 格式。即 $key=>$value
而不是 JSON 格式 { key:'value'}
。否则,编码将无法正常工作。当我将其切换为该格式时,它起作用了。
你一定要试试这个
$datarray = [];
while ($fetch = $stmt->fetch()){
$data = "{ PK:'2', id:'23' }";
$data = array(
"PK"=>2,
"id"=>23
);
array_push($datarray, $data);
}
echo json_encode($datarray);
我正在尝试通过 Ajax 发送数据,但出现以下错误:
Data Loading Warning - Invalid row data detected and ignored, expecting object but received: {PK:'2', ID:'3'} (anonymous) @ tabulator.min.js:2
我创建了一个 PHP 字符串,我将其放入数组并使用 json_encode()
。它识别数组,但不识别其中的对象。我还需要做些什么才能将其读取为 JSON 对象吗?
我创建的字符串如下:
$datarray = [];
while ($fetch = $stmt->fetch()){
$data = "{ PK:'2', id:'23' }";
array_push($datarray, $data);
}
echo json_encode($datarray);
这是在 ajax 请求的页面中。该字符串最初由查询填充,但我对其进行了简化,但仍然无法正常工作。
在 js 中使用之前需要解析 json 字符串:JSON.parse(data)
我发现了这个问题。要使用 json_encode
,它必须采用 PHP 格式。即 $key=>$value
而不是 JSON 格式 { key:'value'}
。否则,编码将无法正常工作。当我将其切换为该格式时,它起作用了。
你一定要试试这个
$datarray = [];
while ($fetch = $stmt->fetch()){
$data = "{ PK:'2', id:'23' }";
$data = array(
"PK"=>2,
"id"=>23
);
array_push($datarray, $data);
}
echo json_encode($datarray);