【问题标题】:retrieve results from mysql using jquery/php/ajax使用 jquery/php/ajax 从 mysql 检索结果
【发布时间】:2010-01-14 18:33:50
【问题描述】:

我正在为这个项目使用 codeigniter。我有一个搜索表单和搜索表单结果。

现在,当我在搜索表单中单击搜索时,我将被重定向到搜索表单结果并获得结果。

是否可以在搜索表单中创建最初隐藏的 div 或 table,然后调用搜索过程并返回哪些结果以将它们返回页面而不重新加载?

使用 jquery/ajax/php ?谢谢

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    我假设您的搜索结果视图只包含一个用于搜索结果的 HTML 块(如 TABLE 或类似的,而不是带有 BODY 的完整 HTML 页面)?如果不更新视图,那么它只包含结果的代码。然后您可以使用$.post method 提交表单获取视图,然后将其注入 DIV(或您选择的元素):

    $(document).ready(function() {
        $('#myformid').submit(function() {
            var seralizedForm = $(this).serialize();
            var url = $(this).attr('action');
            $.post(url, serializedForm, function(results) {
                $('#resultsDiv').html(results);
            }, "html");
            return false;
        });
    });
    

    这应该以最少的修改插入您的代码。将“myformid”更改为您在表单标签上设置的 ID,并将“resultsDiv”更改为您希望结果进入的空 DIV 的 ID。

    这要做的是绑定这个函数,以便在提交表单时调用(通过按回车键或单击提交按钮)。它将序列化表单(因此您可以将输入的值发送到控制器)并通过表单具有的正常“操作”属性获取要提交的 URL。

    然后它将通过帖子将表单提交到该 URL,结果将加载到 ID 为 resultsDiv 的 DIV 中。

    【讨论】:

      【解决方案2】:

      是的,事实上是可能的。

      对于 CodeIgniter,我会为您想要显示的内容编写一个控制器函数和视图。然后,对页面进行 AJAX 调用,这将是您希望在页面上显示的任何内容,并将其加载到当前页面。

      如果您使用的是 jQuery,您可以查看他们的 Various AJAX Functions 以进行 ajax 调用并检索数据

      【讨论】:

      • 我写了控​​制器和视图,我被 jquery/ajax 卡住了
      • 我用关于使用 AJAX 和 jQuery 的链接更新了我的答案。顺便说一句,你有两个用户名真是太好了。
      • 当时我在我同事的电脑上搜索并刷新页面,没有意识到他已登录。为什么有 2 个用户名会很整洁,因为你说“顺便说一句。 "
      猜你喜欢
      • 2013-05-18
      • 2012-06-25
      • 2016-11-08
      • 2012-02-21
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多