繁体   English   中英

jQuery不起作用? 从mysql数据库检索数据而无需刷新页面

[英]JQuery not working? Retrieve data from mysql database with no page refresh

我正在一个项目上,我当前正在尝试实现搜索功能,在用户在输入框中键入要搜索的内容后,他们将单击“搜索”按钮,然后数据将填充现有的表在我的页面上。 但是,我不希望用户单击搜索时刷新页面。

我的search.jsp上的搜索按钮

<button class="btn btn-success btn-labeled fa fa-search" type ="submit" name="action" value="search" id ="search" >Search</button> 

JavaScript / AJAX

  $('#search').click(function () {
            alert("phase 1");
            $search = document.getElementById("search").value;
            alert("phase 2");
            $.post("editAction", { search: $search; }, function (data) {
                alert("phase 3");
                $('#dt-data').html(data);
            });
            alert("phase 4");
        });

editAction.java是所有逻辑所在的地方,而dt-data是我要填充数据的表

运行代码后,警报不会显示,并且页面仍会刷新,但表中仍然填充了正确的结果。 我在这里做错了什么? 任何帮助表示赞赏,我仍然是js和AJAX的新手

这是因为您使用的按钮的提交type ="submit"这可能会直接在同一页面上提交您的表单。 如下更改

<button class="btn btn-success btn-labeled fa fa-search" type ="button" name="action" value="search" id ="search" >Search</button> 

按以下方式修改函数

$("#search").on("click",function(){
            $search = $("#search").val();
            $.ajax({
                url: "editAction",
                type: "POST",
                data: { search: $search},
                success: function(data){
                    //do action  
                    alert("phase 3");
                    $('#dt-data').html(data);
                },
                error: function(){
                    // do action
                    alert("phase 4");
                }
            });
        });

尝试这个:

HTML:

<button class="btn btn-success btn-labeled fa fa-search" type ="submit" name="action" value="search" id ="search" >Search</button> 

JavaScript / AJAX:

<script type="text/javascript">
    jQuery(document).ready(function($){
        $("#search").on("click",function(){
            $search = $("#search").val();
            $.ajax({
                url: "editAction",
                type: "POST",
                data: { search: $search},
                success: function(data){
                    //do action  
                    alert("phase 3");
                    $('#dt-data').html(data);
                },
                error: function(){
                    // do action
                    alert("phase 4");
                }
            });
        });
    });
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM