Обработать json массив на стороне клиента (js)
Есть такой код
function update(){
$.ajax({
url: "/controller/update.php",
type: "POST",
dataType:"JSON",
cache: false,
success: function(data) {
#Здесь нужен обработчик каждой строки json отдельно.
}
});
}
В php у меня цикл
$sql=$mysqli->query("select * from `inventory` where `active='0'");
while($row = mysqli_fetch_array ($sql)) {
$arr = array('id' => $row['id'],'type' => $row['type'],'name' => $row['name']);
echo json_encode($arr);
}
В ответе получаю это
{"id":"185","type":"client","name":"valera"}
{"id":"186","type":"boss","name":"andrey"}
{"id":"187","type":"client","name":"ivan"}
Как обработать в этой js функции этот массив отдельно каждую строку?
Ответы (2 шт):
Автор решения: splash58
→ Ссылка
Сначала сделайте общий массив в php
$arr = [];
while($row = mysqli_fetch_array($sql)) {
$arr[] = array('id' => $row['id'],'type' => $row['type'],'name' => $row['name']);
}
echo json_encode($arr);
Затем в js используйте любой метод для перебора массива, например
data = [
{"id":"185","type":"client","name":"valera"},
{"id":"186","type":"boss","name":"andrey"},
{"id":"187","type":"client","name":"ivan"}
];
data.forEach(x => console.log(x))
Автор решения: Ипатьев
→ Ссылка
В php у меня цикл
Магия
$sql=$mysqli->query("select id,type,name from `inventory` where `active='0'");
echo json_encode($sql->fetch_all(MYSQLI_ASSOC));