Я пытаюсь получить значения из базы данных и распечатать их в своем угловом веб-приложении. У меня проблема в том, что я могу распечатать правильные значения в php echo, но я не хочу получать каждое из этих значений и помещать их в список в угловых.
Вопрос в том, как я могу получить только имена?
Ответ сервера на данный момент напечатан в консоли.
Response {_body: "{"users":[{"name":"Jan"},{"name":"Pelle"},{"name":"Sara"},{"name":"c"},{"name":"21321"}]}"
код API php rest
$user = new User($dbh);
$stmt = $user->read();
$tableRows = $stmt->rowCount();
if($tableRows>0){
$users_arr=array();
$users_arr["users"]=array();
$result = $stmt -> fetchAll();
foreach($result as $row){
$user_item=array(
"name" => $row['username']
);
array_push($users_arr["users"], $user_item);
}
echo json_encode($users_arr);
//return $users_arr;
}else{
echo json_encode(
array("message" => "No users found")
);
}
Угловой 2-х интерфейсный код
this.http.get('http://localhost/shareVideoAppPHP/read.php', {headers: this.headers})
.subscribe((message) => { //Function data
console.log("from server", message);
}, (error) => {
console.log("Error from server!", error);
});
Решил это с помощью функции map, представленной angular
const response = JSON.parse(message.text());
const names = response.users.map((user) => user.name);
console.log('names' + names);
Других решений пока нет …