Jquery.ajax使用php从html加载数据

时间:2014-02-05 21:28:03

标签: php jquery html ajax

我在使用php从html加载输入字段时遇到了一些问题。我正在使用jQuery Ajax $.post函数将我的数据从输入字段发送到php文件,以便从数据库中进行查询。

我修复了代码。下面的代码工作正常。

这是我的主页

中的html
<input class="detail" maxlength="60" name="detail" placeholder="Type to search">
<button class="searchbtn" name="search">Search</button>

这是jQuery Ajax部分

$(".searchbtn").click(function(e) {
    makeAjaxRequest();  
});

function makeAjaxRequest(){
var input = $(".detail").val(); 
$.post("search.php",{detail:input},function(data,status){
        $('#resultTable tbody').html(data);

});

然后最后一部分是php文件(search.php)

if (isset($_POST['detail'])) {
    $data = $_POST['detail'];

    $query = "SELECT * FROM products WHERE ".%data; 
$result = $conn->query($query) or trigger_error($mysqli->error."[$sql]");

while($row = $result->fetch_assoc()){
    $rows[] = $row;
}
}

现在它完美无缺。谢谢你的回答。

3 个答案:

答案 0 :(得分:0)

目前你只是发送一个没有键/值的字符串。您需要发送一个键/值对作为您的数据参数,作为字符串或对象(对象更安全,因为它会自动进行urlencoded)

$.post("search.php",{detail:input},function(data,status){

答案 1 :(得分:0)

你可以试试这个。

function makeAjaxRequest(){
    var input = $(".detail").val(); 
    $.post("search.php",
        {detail: input},
        function(data,status){
            $('#resultTable tbody').html(data);

    });
}

答案 2 :(得分:0)

您正在服务器端页面上解压缩$_POST['detail'],但在客户端发送时,您发送的内容为$.post("search.php",input

数据应以PlainObject或字符串形式发送。我的意思是,每个POST数据都应该有一些索引可以在另一端引用。

由于您使用索引detail进行提取,因此请在以下内容中添加detail

$.post("search.php",{detail:input},function(data,status){

请参阅:jQuery : $.post()