Добрый день!
Сразу к сути:
Есть некое поле поиска, при вводе в него чего-либо отправляется ajax-запрос на страницу /ajax/xxx.php
Она же в свою очередь отдает json через json_encode, ответ может быть разным, если какая то ошибка то:
Код php:
$status = 'error';
$array = array(
"status" => $status,
"data" => array(
"message" => "КАКАЯ_ТО_ОШИБКА"
)
);
Получаемый json:
{
"status": "error",
"data": {
"message": "КАКАЯ_ТО_ОШИБКА"
}
}
А если нашлось совпадение в БД то:
Код php:
$k = 1;
$array = array();
while ($row = $result->fetch_assoc()) {
$array[$k] = array(
"id" => $row['id'],
"name" => $row['name']
);
$k++;
}
Получаемый json:
{
"1": {
"id": "1",
"name": "1"
},
"2": {
"id": "2",
"name": "1"
}
}
Вот сам ajax-запрос:
function search() {
var data = {
search: $('#search').val()
}
$.ajax({
type: 'POST',
dataType: 'json',
url: '/ajax/xxx.php',
data: data,
success: function(data) {
search_answer(data);
}
});
};
А вот функция, которая "разбирает" ответ:
function search_answer(res) {
// вывод найденной информации
if (res.status == 'error') {
if (res.data.message == 'ERROR_2') {
$(".error").text("ERROR_2");
}
if (res.data.message == 'ERROR_1') {
$(".error").text("ERROR_1");
}
}
};
Понимаю что лютый быдлокод, но прошу помощи, никак не могу понять как вывести полученные результаты.
UPD. Если получили id и name то нужно вывести их в див с классом answer. Как я понимаю нужен цикл чтобы перебрать полученный массив, но не могу понять как его составить.