php - 如何在 CodeIgniter 中使用 AJAX 函数更改网页数据

标签 php jquery json ajax codeigniter

我使用 CodeIgniter 作为我的 Web 框架和 Controller ,我使用 $this->load->view('Apartments_Hotels', $data 第一次加载数据。但是现在我需要在 View 中使用 ajax 函数重新加载包含新数据的页面。

View 中的 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) {

            }
        });
    });
});

Controller 函数

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

但这行不通。谁能帮我一次又一次地使用 ajax 函数加载 View

最佳答案

从您的原始帖子中,我不明白什么“不起作用”。

您已经知道如何显示您的 View (通过调用 Controller )。您已经知道如何使用 Ajax(从服务器获取信息)以及如何使用 jQuery(为 View 操作浏览器呈现的 DOM)。

问题是您不想刷新整个页面。对于当前的 Ajax 调用,这似乎正是您正在做的事情。

解决方法是:

  1. 对于初始显示,让您的 CI Controller 返回一个 View - 就像您已经在做的一样。

  2. View 将有一个“$(document).ready()”操作处理程序,它将进行 Ajax 调用 - 就像您已经在做的那样。

  3. 添加 <div id="xyz"...>标记到您的 View ,以便从服务器接收“刷新数据”。

  4. 您的 Ajax 调用将调用一个不同 URL - 一个返回 JSON 数据的 URL - 您想要“刷新”的数据。

  5. 您的 Ajax 处理程序将 a) 从响应中解析出 JSON,然后 b) 使用它来更新 <div>在你的 DOM 中。

这里有一些例子:

Using AJAX to reload only a Div

Let jQuery AJAX Change This Text

关于php - 如何在 CodeIgniter 中使用 AJAX 函数更改网页数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54972751/

相关文章:

json - 使用 jq 转换 json 对象,使用 base64 解码转换值

php - Laravel dd 输出仅随脚本一起提供

PHP regex - 计算单词前后感叹号的数量

php - 如何通过链接将值(value)转移到另一个页面?

javascript - jQuery:如何在文本框中捕获 TAB 按键

Python flask : Getting an 'OperationalError' object is not callable when inserting to database

php - 基本日历构建 - 使用 pdo 输出 mysql 事件数据

java - 幻灯片链接、滑动、按钮

jquery - 如何使用 jQuery 发出正确的 Graph Api 请求?

java原始数组到JSONArray