簡體   English   中英

JQUERY 自動完成不顯示從 php 腳本返回的結果

[英]JQUERY Autocomplete Not Showing Results That Are Returned From a php Script

我正在嘗試使用自動完成功能獲取一些學校名稱。但名稱列表沒有出現。 當我輸入例如“ uni ”時,它正在向 sclist.php 文件發出請求,例如這個sclist.php?term=uni並在網絡控制台中返回此響應:

uni
 [
     "University of Cambridge",
     "University of Michigan",
     "University of Oxford",
     "University of Virginia" 
]

我似乎無法找到為什么名稱列表沒有出現。 這是我的第一個自動完成實現。 任何幫助深表感謝。

autocom.php文件:

<html lang = "en">
   <head>
      <meta charset = "utf-8">
      <title>jQuery UI Autocomplete functionality</title>
       <script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
       <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

      <!-- Javascript -->
      <script>
         $(function() {
            $( "#automplete" ).autocomplete({
               source: 'sclist.php',
               autoFocus:true
               });
         });
      </script>
   </head>

   <body>
      <!-- HTML -->
       <p>Type something</p>
         <input id = "automplete">
  </body>
</html>

sclist.php文件:

<?php
require_once('connectToDB.php');
if (isset($_GET['term'])) 
    echo $_GET['term']."\n";
else 
  echo "not set";

require_once 'connectToDB.php';
$stmt=$portbleDocObj->prepare('SELECT name FROM Institution WHERE name LIKE :prefix ');
$stmt->execute(array( ':prefix'=>$_GET['term']."%") );

$returedData=array();
while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
    $returedData[] = $row['name'];
}
print_r($row);
echo(json_encode($returedData, JSON_PRETTY_PRINT));
?>

基本上,我剛剛對您的原始代碼進行了一些整理。 請記住,當您返回到 AJAX 調用時,您回顯或打印的所有內容都將 go 返回到 AJAX 代碼進行處理。 所以只返回應該返回的東西。 此外,當機器與機器交談時,不需要 PRETTY_PRINT

<?php

if ( ! isset($_GET['term'])) {
    echo "not set";
} else {
    require_once('connectToDB.php');
    $stmt = $portbleDocObj->prepare('SELECT name 
                                    FROM Institution 
                                    WHERE name LIKE :prefix');

    $stmt->execute( [':prefix' => $_GET['term']."%"] );
    $ret = [];
    while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
        $ret[] = $row['name'];
    }   
    echo json_encode($returedData);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM