Ну, у меня есть этот код ajax, который вернет результат из MySql в блоке Success.
$.ajax({ type:"POST", url:"index.php", success: function(data){ alert(data); } });
Мой запрос
$sql = "SELECT * FROM tablename"; $rs=parent::_executeQuery($sql); $rs=parent::getAll($rs); print_r($rs); return $rs
Мой массив ответов в преддверии успеха AJAX
Array ( [0] => Array ( [section_id] => 5 [version] => 1 [section_name] => Crop Details [id] => 5 [document_name] => Site Survey [document_master_id] => 1 [document_section_id] => 5 ) [1] => Array ( [section_id] => 28 [version] => 1 [section_name] => Vegetative Report [id] => 6 [document_name] => Site Survey [document_master_id] => 1 [document_section_id] => 28 ) )
Я хочу получить только result_name и document_name из результата, чтобы я мог добавить эти два значения в свой список.
Не возвращайте ответ с помощью print_r()
, используйте json_encode()
:
echo json_encode($rs);
Затем в Javascript вы можете сделать:
$.ajax({ type:"POST", url:"index.php", dataType: 'json' success: function(data){ for (var i = 0; i < data.length; i++) { console.log(data[i].section_name, data[i].document_name); } } });
измените свой запрос выбора с помощью
$sql = "SELECT section_name,document_name FROM tablename";
$sql = "SELECT * FROM tablename"; $rs=parent::_executeQuery($sql); $rs=parent::getAll($rs); return json_encode($rs);
index.php
$.ajax({ type:"POST", url:"index.php", success: function(data){ alert(data); var data = JSON.parse(data); /* you can use $.each() function here */ } });
Сделай это:
$sql = "SELECT * FROM tablename"; $rs=parent::_executeQuery($sql); $rs=parent::getAll($rs); $resp = array(); foreach( $rs as $each ){ $resp[]['section_name'] = $each['section_name']; $resp[]['document_name'] = $each['document_name']; } return json_encode($resp);
Получите доступ к ответу JSON следующим образом:
for (var i = 0; i < data.length; i++) { console.log(data[i].section_name, data[i].document_name); }