Обработать 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));
→ Ссылка