php - 使用 Ajax 访问 stdClass 对象

标签 php jquery mysql ajax

我正在向数据库发送 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/

相关文章:

php - sql 只在 mysql 中有效,在 php 中无效

php - 如何确定 UTC 与服务器时区的偏移量?

php 类和 jQuery

java - 连接到 MySQL DB : better an . ini 文件或 .bat 文件?

MySQL 保留最新日期的记录

php - 如何保存类似evernote的所有样式和图像的网页?

php - 如何从表字段MySQL中的字符串获取部分精确值

javascript - 删除隐藏图像的 'white-space'

javascript - JQuery .next() 没有使用选择器选择下一个元素

mysql - 如何在 MySQL 中为数据库用户定义 SQL 查询白名单?