Я пытаюсь отправить данные через 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. Строка была изначально заполнена запросом, но я упростил ее, и она все еще не работает.
Необходимо проанализировать строку json перед использованием в js: 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);