Я новичок в передаче объектов через AJAX, и поскольку я не уверен в передаче и извлечении, у меня возникла проблема с отладкой.Передача данных JSON и получение их обратно
В основном, я делаю запрос AJAX контроллеру PHP и эхо-данные на странице. Я не могу быть уверен, что успешно передаю свой объект. При печати на просмотр страницы я получаю null.
Это мой ЯШ:
// creating a js filters object with sub arrays for each kind
var filters = {};
// specify arrays within the object to hold the the list of elements that need filtering
// names match the input name of the checkbox group the element belongs to
filters['countries'] = ["mexico", "usa", "nigeria"];
filters['stations'] = ["station1", "station2"];
filters['subjects'] = ["math", "science"];
// when a checkbox is clicked
$("input[type=checkbox]").click(function() {
// send my object to server
$.ajax({
type: 'POST',
url: '/results/search_filter',
success: function(response) {
// inject the results
$('#search_results').html(response);
},
data: JSON.stringify({filters: filters})
}); // end ajax setup
});
Мой контроллер PHP:
public function search_filter() {
// create an instance of the view
$filtered_results = View::instance('v_results_search_filter');
$filtered_results->filters = $_POST['filters'];
echo $filtered_results;
}
мой взгляд PHP:
<?php var_dump($filters);?>
Возможно, мне нужно использовать функцию jsondecode PHP, но я Я не уверен, что мой объект попадает в первую очередь.
все еще получаю NULL, любой другой предложения? – compguy24
AFAICT ваш js-код и ajax-запросы в порядке, что-то должно быть неправильным в вашем php-коде, и у меня его недостаточно, чтобы воспроизвести проблему. – Calimero
В div #search_results я получаю «NULL», где ожидаю распечатку объекта, который я пытаюсь передать. – compguy24