Анализ массива PHP объектов с помощью jQuery Ajax

Я пытаюсь получить массив объектов с данными из моей базы данных в jquery для рендеринга на веб-сайте.

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> 

Вывод:

console.log (ответ);

["test", $ family: function, $ constructor: function, each: function, clone: ​​function, clean: function …]

console.log (ответ [0] .example);

не определено

По сути, я получаю ответ отлично, когда я его регистрирую, он дает мне структуру, которая имеет смысл. однако я не могу найти правильный способ доступа к моим объектам внутри массива, пример, который у меня выше, возвращает только неопределенные. Для чего нужен правильный синтаксис?

Вам нужно JSON.parse(response); ответ. Вы должны иметь доступ к нему, как вам нужно.

 var parsed_reply = JSON.parse(response); 

EDIT После фактического просмотра кода:

PHP

 <?php $data['example'] = "test"; echo json_encode($data); ?> 

JAVASCRIPT

 <script> $.ajax({ type: 'POST', url: 'example.php', data: {map: map}, cache: false, dataType: 'json', success: function(response) { console.log(response['example']); } }); </script> 

OUTPUT: "test"

Вам нужно вызвать testFunction() в example.php

 <?php function testFunction() { $data = array() $mydata = new stdClass; $data[] = $mydata->example = 'test'; return json_encode($data); } echo testFunction(); ?> 
 function testFunction() { $data = array(); $mydata = new stdClass; $mydata->example = 'test'; $data[] = (array) $mydata; return json_encode($data); } echo testFunction(); 

Ответ:

 [{"example":"test"}] 

Ключевым здесь является (array) $mydata который преобразует stdclass в массив, прежде чем помещать его в $data