Ajax无法将数据从php加载到div中。

3

这是 ajax 函数。

$(document).ready(function() {
        $('#submit').click(function(e) {
            e.preventDefault();
            $.ajax({
                type: 'POST',
                url: 'searchphp.php',
                data: {suburb_id: $('#suburb_id').val()},
                success: function(data)
                {
                    $("#tableContent").html(data);
                }
            });
        });
    });   

这是需要接收数据的PHP文件,它能正常工作。

<?php
//Check the form if submit by post
    if (isset($_POST["searchBtn"])) {
        $strInputSuburb = "";


        $strInputSuburb = $_POST["suburb_id"];


        //Check if the input box is empty or not
        //if BOTH "Suburb" AND "Street" is empty, it will display the error message.
        if(!empty($strInputSuburb))
        {
            //Connect to database server and table
            include("connection.php");
            @mysqli_select_db($conn, "db")
            or die ("Database not available");

            $querySql1 = "select * from Infringement 
                          where suburb like '%".mysqli_real_escape_string($conn, $strInputSuburb)."%' and Street1 like '%".mysqli_real_escape_string($conn, $strInputStreet)."%'
                          order by Suburb, Fines DESC";

            $result1 = mysqli_query($conn, $querySql1)
                or die ("No information return...");

            $count = mysqli_num_rows($result1);
            $i=1;
            if(!$count==0){
                //do stuff, like echo
            }
            else {
                //do stuff
            } 

            //Release the SQL clause
            mysqli_free_result($result1);
            //Close the connection to database
            mysqli_close($conn);
        }
        else {
        //do stuff
        }
    }   
?>         

我想把内容加载到这个
中。
<div id="tableContent"></div>

CSS样式是

#tableContent {

            width:100%;
            height:400px;



        }

输入框在下方。
<input type="textbox" class="form-control" name="suburb" placeholder="Suburb" id="suburb_id" >
<input type="submit"class="btn" name="searchBtn" id='submit' value="Search" />

之前我使用 PHP 从表单中获取数据,但是使用 Ajax 后,删除了 "form" 标签。

非常感谢。


4
你的PHP代码中写着if (isset($_POST['searchBtn'])),但是你的AJAX请求并没有发送这个参数。 - Barmar
1
你为什么要添加条件语句 if (isset($_POST['searchBtn']))?难道你不理解你正在创建的代码吗? - CodeGodie
1个回答

3

您没有发送searchBtn参数,而PHP脚本正在检查该参数。请将其添加到data:选项中。

$(document).ready(function() {
    $('#submit').click(function(e) {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'searchphp.php',
            data: {
                suburb_id: $('#suburb_id').val(),
                searchBtn: 'Search'
            },
            success: function(data)
            {
                $("#tableContent").html(data);
            }
        });
    });
});

或者从PHP脚本中删除该检查,并测试if (isset($_POST['suburb_id']))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接