я пытаюсь использовать json_encode так, что моя функция JQuery Ajax может извлекать данные из моего PHP скрипт, однако массив, который я пытаюсь кодировать и получить массив объектовJQuery AJAX получения массива объектов
$la_uselessinfo = array();
$lv_cnt = 0;
$uselessinfo = pg_execute($gv_dbconn, "uselessinfo_cur", array());
while($la_row = pg_fetch_row($uselessinfo)) {
$la_uselessinfo[$lv_cnt]["uinf_idno"] = $la_row[0];
$la_uselessinfo[$lv_cnt]["uinf_desc"] = $la_row[1];
$lv_cnt = $lv_cnt + 1;
}
echo json_encode($la_uselessinfo);
Я пытаюсь получить это с помощью функции JQuery Ajax
$.ajax({
url : 'scripts/phpfunctions.php',
type : 'GET',
data : {'action':'sel_uselessinfo'},
success : function(data) {
//console.log(data);
console.log(data["uinf_desc"][0]);
},
error : function(log) {
console.log(log.message);
}
});
Я получаю следующее сообщение об ошибке
Uncaught TypeError: Cannot read property '0' of undefined
Я не могу сказать, не так ли это в PHP-коде или коде jquery, каков правильный способ извлечения массива объектов?
У вас есть еще один параметр 'parse'. вы отправляете его как '[$ lv_cnt] [" uinf_idno "]' right? –
Вам нужно разобрать ответ как 'JSON.parse (data)' – Rayon
Где вы делаете 'json_encode (array ($ la_uselessinfo));' вы уверены, что вам действительно не нужно 'json_encode ($ la_uselessinfo);'? '$ la_uselessinfo' уже является массивом, не нужно его снова обертывать, и это приводит к неправильной оценке глубины вашего массива. – DelightedD0D