我想創建一個簡單的搜索表單,將有自動完成。自動完成的值取自位於不同服務器上的數據庫。 我有這樣的:如何使用JavaScript自動完成與PHP遠程
<form action="smth.php" method="POST">
<label>Tracking Tag</label>
<input class="form-control" type="text" name="tag" id="tag" />
<button class="submit btn btn-success" type="submit" name="search" value="Show">Show</button>
</form>
我的小JavaScript是:
$("#tag").autocomplete({source: "suggest_tag.php", minLength:1});
現在我有一個被調用此suggest_tag.php文件。
<?php
if (!isset($_REQUEST['term']))
exit;
$data = file_get_contents("http://xxx/suggest_tag.php? tag=".$_REQUEST["term"]);
echo $data;
?>
腳本在HTTP/XXX/suggest_tag.php如下:
<?php
if (!isset($_GET['tag']))
exit;
$conn = mysql_connect(**credentials**) or die('Not able to connect to db');
$query = "select query;";
$result = mysql_query($query) or die(mysql_error());
$data = array();
if ($result && mysql_num_rows($result))
{
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$data[] = array("label"=>$row['tag'], "value"=>$row["tag"]);
}
}
echo json_encode($data);
?>
什麼我做錯了,我該如何解決?
您是否收到任何錯誤,或者您的輸出錯誤? – Djip
即使我知道在數據庫中存在類似的記錄,我也沒有獲得任何自動填充建議。 – ivanacorovic
我想你的源代碼必須是數據,而不是url,所以你必須對php頁面進行ajax調用,然後返回數據,然後才能使用它。 – Djip