2016-05-10 2 views
-3

Я создал динамический массив, а затем, я конвертирую его в объект json. Код выглядит следующим образом:Как я могу получить доступ к данным JSON?

$array_D1[]=""; 
$array_D2[]=""; 
$array_to_send[]=""; 

$array_D1[$CapaEnviar][] = $fila['test_name']; 
$array_D2[]=$seleccio_content; 
$array_D2[]=$id_capa; 
$array_D2[]=$pagina; 
$array_D2[]=$idtest; 
$array_D2[]=$valor_org; 
$array_D2[]=$valor_eval; 
$array_D2[]=$valor_test; 

$array_to_send=array('data1' => $array_D1, 'data2' => $array_D2); 

echo json_encode($array_to_send,true); 

Этот код является ответом AJAX для запроса AJAX. Я не знаю, как я могу получить доступ к данным JSON из jquery.

мне нужно Acces значения от «data1» и «data2»

+0

Вы забыли указать код на стороне клиента. Мы не знаем, как вы извлекаете данные. – Quentin

+0

PHP по умолчанию отправляет заголовок ответа Content-Type: text/html. Вы должны переопределить это с помощью функции 'header()', если вы не выводите HTML. – Quentin

+0

ОК, я добавлю его! – riztak

ответ

-1

Я не уверен, что трудно об этом. Другие правы, что вы, вероятно, должны добавить:

header('Content-type: application/json'); 

в ваш php-файл до вашего утверждения эха.

Предполагая, что вы можете получить доступ к PHP с URL, скажем, http://blah.com/test.php, вы можете ...

$.ajax({ 
     method: 'post', //or 'get' 
     url: 'http://blah.com/test.php' 
}) 
.done(function(data) { 
    console.dir(data.data1); 
    console.dir(data.data2); 
}) 
.fail(function(jqXHR, textStatus) { 
    console.dir(jqXHR); 
    console.dir(textStatus); 
}); 

Очевидно, что вы можете заменить тело обратного вызова с любой обработкой вы хотите.

Смежные вопросы