Как изменить данные веб-страницы с помощью функции AJAX в CodeIgninter - PullRequest
0 голосов
/ 03 марта 2019

Я использую CodeIgniter в качестве веб-фреймворка и из контроллера, я использую $this->load->view('Apartments_Hotels', $data для загрузки данных в первый раз.Но теперь мне нужно перезагрузить страницу новыми данными, используя функцию Ajax в представлении.

Функция Ajax в представлении

$(document).ready(function() {
    $(".filter_checkbox").click(function(){
        var filter = [];
        $.each($("input[name='filter']:checked"), function(){
            filter.push($(this).val());
        });
        $.ajax({
            async: false,
            type: 'POST',
            data: {
                filter: filter
            },
            url: "<?php echo base_url(); ?>index.php/ListingsController/showFilterListings",
            success: function (response) {

            }
        });
    });
});

Функция контроллера

public function showFilterListings(){echo $this->load->view('Apartments_Hotels', $data, TRUE);

}

Но это не работает.Может ли кто-нибудь, пожалуйста, помогите мне с загрузкой просмотра снова и снова с помощью функции AJAX

1 Ответ

0 голосов
/ 04 марта 2019

Из вашего исходного поста я не понял, что "не работает".

Вы уже знаете, как отобразить свое представление (вызывая контроллер).Вы уже знаете, как использовать Ajax (для получения информации с сервера) и как использовать jQuery (для управления DOM, отображаемым вашим браузером для просмотра).

Проблема в том, что вы не хотитеобновить всю страницу.Это похоже на то, что вы делаете с текущим вызовом Ajax.

Решение:

  1. Для начального отображения ваш контроллер CI должен вернуть aпредставление - точно так же, как вы уже делаете.

  2. представление будет иметь обработчик действия $ (document) .ready (), который будет выполнять вызов Ajax - точно так же, как вывы уже делаете.

  3. Добавьте тег <div id="xyz"...> к вашему представлению, чтобы получать «обновление данных» с сервера.

  4. Ваш Ajax-вызов вызовет другой URL - URL, который возвращает JSON данные - данные, которые вы хотите "обновить".

  5. Ваш обработчик Ajax а) проанализирует JSON из ответа, а затем б) использует его для обновления <div> в вашем DOM.

Вот несколько примеров:

Использование AJAX для перезагрузки только Div

Пусть jQuery AJAX изменит этот текст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...