Я подключаюсь к БД по php-коду, я написал некоторый код для получения данных с помощью axios.get в реагировать на нативный. Но ответ от axios.get - строка, а не массив.
Я пробовал eval (ответ) и JSON.parse (ответ), но не могу преобразовать ответ в массив.
вот мой реагирующий нативный код, он написан в componentDidMount
const mobile = "0912111111";
const data = {
mobile: mobile
};
var headers = {
'Content-Type': 'application/json'
}
axios.get('http://192.168.1.3/Account/family_manage.php',{data:data},
{headers:headers})
.then((response) => {
//how to convert response to array of array here
console.log(eval(response).data);
})
.catch(function (error) {
Alert.alert('error');
console.log(error);
});
вот мой код в php backend:
header("Access-Control-Allow-Origin: *");
include "connect.php";
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$mobile=$obj['mobile'];
$sql = "SELECT box_name,num_box FROM family_box WHERE
admin_mobile='$mobile'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_array($result)){
$myarr[] =array('name'=> $row['box_name'],'num'=>$row['num_box']);
}
echo json_encode($myarr);
} else {
echo "0 results";
}
mysqli_close($conn);
Как я могу получить массив ответов массива и как я могу получить доступ к 'name' или num в данных ответа?
спасибо