我正在向数据库发送 Ajax 请求,以检索特定 MySQL 表中的所有数据。我成功得到结果了。但是,我得到的结果是 stdClass 对象。现在我很困惑如何使用 jQuery 访问它们并将它们输出到我的页面中。
// fetch.php
// Display particular SMS by sid
$result = $database->get_by_sid($_POST['sid']);
// Rendering the result to Ajax
foreach ( $result as $message ) {
print_r($message);
}
<小时/>
// main.js
$.ajax({
url: '/admin/fetch.php',
data: 'sid=' + sid,
method: 'POST',
beforeSend: function () {
$('.progress').show();
},
complete: function () {
$('.progress').hide();
},
success: function (data) {
console.log(data);
},
error: function () {
Materialize.toast('Cannot send the request. Please try again later or refresh the page', 4000);
}
return falsel
});
我得到的结果类似于以下 PHP stdClass 对象格式:
// console
stdClass Object
(
[id] => 1
[user_name] => admin
[phone_number] => +16469267421
[from] => +16469267421
[body] => Hi Ngrok
[sid] => SM1fe8a7a5a65261a7ebc765e020b1d89a
[time] => 2015-09-03 06:18:13
[status] => received
)
stdClass Object
(
[id] => 2
[user_name] => admin
[phone_number] => +16469267421
[from] => +16469267421
[body] => Okay. so the request is perfect :)
[sid] => SM4b4d9fc928e12e3ddbf63df6204fb4cd
[time] => 2015-09-03 06:20:19
[status] => received
)
stdClass Object
(
[id] => 3
[user_name] => admin
[phone_number] => +16469267421
[from] => +16469267421
[body] => Wow, I'm really happy to see this now :)
[sid] => SM4704dff6517c02e284cbfe812730917c
[time] => 2015-09-03 06:21:06
[status] => received
)
stdClass Object
(
[id] => 4
[user_name] => admin
[phone_number] => +16469267421
[from] => +16469267421
[body] => I hope everything is now working correctly as expected.
[sid] => SM6577ca7e346551486d2572acfe99aec0
[time] => 2015-09-03 06:32:22
[status] => received
)
stdClass Object
(
[id] => 5
[user_name] => admin
[phone_number] => +16469267421
[from] => +16469267421
[body] => Hi, Good morning :)
[sid] => SM7f3d9adbfd1274c58efaaeb9a3aca013
[time] => 2015-09-03 07:02:30
[status] => received
)
所以,我想知道如何以 Javascipt 对象的形式实际访问结果并输出:data.body
最佳答案
您可以先获取对象并创建一个数组
while($row= mysqli_fetch_row($result))
{
$arr[]= $row;
}
echo json_encode($arr);
exit;
它将以 json 形式给出响应。如果你想获得数组格式的响应,你可以这样做。
print_r($arr);
exit;
关于php - 使用 Ajax 访问 stdClass 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420312/