Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回整页HTML而不是所需数据的Ajax调用_Php_Jquery_Html_Ajax - Fatal编程技术网

Php 返回整页HTML而不是所需数据的Ajax调用

Php 返回整页HTML而不是所需数据的Ajax调用,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我正在尝试创建一个Ajax实时搜索,但是Ajax调用返回的是完整的HTML,而不是我正在寻找的用户名。我尝试了程序化而不是PDO,它工作得非常好,但我试图保持我的整个项目PDO。我不太确定是什么导致它发送HTML而不是预期的结果。我在控制台中也没有收到任何错误。谢谢你的帮助 index.php backend-search.php 使用return发送数据(不带任何html),而不是echo 循环使用.done()方法中的数据,并添加必要的html来显示。您从中获得的输出是什么?我正在获得htm

我正在尝试创建一个Ajax实时搜索,但是Ajax调用返回的是完整的HTML,而不是我正在寻找的用户名。我尝试了程序化而不是PDO,它工作得非常好,但我试图保持我的整个项目PDO。我不太确定是什么导致它发送HTML而不是预期的结果。我在控制台中也没有收到任何错误。谢谢你的帮助

index.php backend-search.php
使用
return
发送数据(不带任何html),而不是
echo


循环使用
.done()
方法中的数据,并添加必要的html来显示。

您从中获得的输出是什么?我正在获得html源代码。您能在这里发布吗?
$("#check-input").keyup(function() {
    var inputVal = $(this).val();
    var resultDropdown = $(this).siblings(".check-input-result");
     if (inputVal.length) {
         $.get("php_backend/backend-search.php", {
             term: inputVal
         }).done(function(data) {
             resultDropdown.html(data);
         });
      } else {
          resultDropdown.empty();
      }
});
<?php

try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("ERROR: Could not connect. " . $e->getMessage());
}

try{
    if(isset($_REQUEST['term'])){        
        $sql = "SELECT * FROM users WHERE username LIKE :term";
        $stmt = $pdo->prepare($sql);
        $term = $_REQUEST['term'] . '%';
        $stmt->bindParam(':term', $term);
        $stmt->execute();

        if($stmt->rowCount() > 0){
            while($row = $stmt->fetch()){
                echo "<p>" . $row['username'] . "</p>";
            }
        } else{
            echo "<p>No matches found</p>";
        }
    }  
} catch(PDOException $e){
    die("ERROR: Could not able to execute $sql. " . $e->getMessage());
}

unset($stmt);
unset($pdo);

?>
$data = [];
if($stmt->rowCount() > 0){
   while($row = $stmt->fetch()){
      array_push($row['username']);
   }
}
return $data;