Я использую ajax, чтобы получить возвращаемое значение из функции php, вызов правильный, но я не могу получить доступ к данным должным образом.
Аякс вызов:
$.ajax({
data: {"hotel_id" : hotel_id},
url: '/get_type_check',
type: 'get',
success: function (response) {
console.log(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
Если я распечатаю консоль, журнал показывает:
<!DOCTYPE html>
комментарий:
Чтобы изменить этот заголовок лицензии, выберите заголовки лицензий в свойствах проекта.
Чтобы изменить этот файл шаблона, выберите Сервис | Шаблоны
и откройте шаблон в редакторе.
{"status":["CAB2"]}
И функция PHP:
public function get_type_check(){
$type_checks=Hotel::get_type_checks($_GET['hotel_id']);
echo json_encode(array('status' => $type_checks));
}
Как я могу получить response.status?
Должен ли я использовать возврат вместо «эхо»?
Вы должны разобрать ответ на JSON, чтобы поймать его как JSON.
Просто добавьте строку:
var data = $.parseJSON(response);
Итак, ваш Ajax будет выглядеть следующим образом:
$.ajax({
data: {"hotel_id": hotel_id},
url: 'ajax.php',
type: 'get',
success: function(response) {
var data = $.parseJSON(response);
console.log(data.status);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus);
alert("Error: " + errorThrown);
}
});
});
Других решений пока нет …