I'm trying to get an array of objects with data from my database into jquery to render on a website.
ex: example.php
<?php
function testFunction() {
$data = array()
$mydata = new stdClass;
$mydata->example = 'test';
$data[] = $mydata
return json_encode($data);
}
echo testFunction();
?>
ex index.html
<script>
$.ajax({
type: 'POST',
url: 'example.php',
data: {map: map},
cache: false,
dataType: 'json',
success: function(response) {
console.log(response[0].example);
}
});
</script>
Output:
console.log(response);
["test", $family: function, $constructor: function, each: function, clone: function, clean: function…]
console.log(response[0].example);
undefined
So essentially, I receive the response fine, when I log it it gives me a structure that makes sense. however I can't seem to find the correct way of accessing my objects inside the array, the example I have above only returns undefined. What is the correct syntax for this please?
You need to
JSON.parse(response);
the response. You should be able to access it like you need then..EDIT After actually looking at the code:
PHP
JAVASCRIPT
OUTPUT: "test"
You need call
testFunction()
in example.phpThe response is:
The key here is
(array) $mydata
which converts thestdclass
to an array before putting it in$data