使用Ajax访问stdClass对象

I'm sending an Ajax request to the database to retrieve all data from a particular MySQL table. I'm getting the result successfully. However, the result I'm getting is the stdClass object. Now I'm confused how to access them using jQuery to output them into my page.

// 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
});

And I'm getting the result like the following PHP stdClass object format:

// 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
)

So, I wish to know how you can actually access the result as an Javascipt object to output like: data.body

You will have to send your data from your php server to client as JSON

header('Content-Type: application/json');
$result = $database->get_by_sid($_POST['sid']);

// Rendering the result to Ajax
$data = [];
foreach ( $result as $message ) {
    $data[] = $message;
}
echo json_encode($data);
exit;

// main.js
$.ajax({
    url: '/admin/fetch.php',
    data: 'sid=' + sid,
    method: 'POST',
    beforeSend: function () {
        $('.progress').show();
    },
    complete: function () {
        $('.progress').hide();
    },
    success: function (data) {
        $.each ( data, function ( i, v ) {
            //v.id id
            //v.user_name user_name
            //v.phone_number phone_number
        });
    },
    error: function () {
        Materialize.toast('Cannot send the request. Please try again later or refresh the page', 4000);
    }
});

Also remove return falsel line from main.js

First, build an array of your results on the server side:

$output = [];
foreach ($result as $message) {
    $output[] = $message;
}

Then when you're ready to send it back to javascript, set the content type: application/json header and print a json-encoded version of the array:

header('Content-Type: application/json');
echo json_encode($output);
exit;

How are you getting the data form the DB? If you get them as assoc Array you can use json_encode.

In your fetch.php (instead of foreach):

echo json_encode($result);

You can fetch object first and the make an array

while($row= mysqli_fetch_row($result))
{
   $arr[]= $row;
}
echo json_encode($arr);
exit;

It will give response in json. if you want to get responsne in array format you do this.

  print_r($arr);
  exit;