我正在尝试通过Ajax发送数据,但出现以下错误:
数据加载警告-检测到无效行数据并将其忽略,这是预期的 对象但已收到:{PK:'2',ID:'3'}(匿名)@ 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请求的页面中。该字符串最初是由查询填充的,但我对其进行了简化,但仍然无法使用。
答案 0 :(得分:0)
在js中使用之前需要解析json字符串:JSON.parse(data)
答案 1 :(得分:0)
我发现了问题。要使用json_encode
,它必须为PHP格式。即$key=>$value
,而不是JSON格式{ key:'value'}
。否则,编码将无法正常工作。当我将其切换为该格式时,它可以工作。
答案 2 :(得分:0)
您必须尝试这个
$datarray = [];
while ($fetch = $stmt->fetch()){
$data = "{ PK:'2', id:'23' }";
$data = array(
"PK"=>2,
"id"=>23
);
array_push($datarray, $data);
}
echo json_encode($datarray);