javascript - 如何远程使用 javascript 自动完成和 php

标签 javascript php autocomplete cross-domain

我正在尝试创建一个具有自动完成功能的简单搜索表单。自动完成的值取自不同服务器上的数据库。 我有这个:

<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);
?>

我做错了什么以及如何解决它?

最佳答案

您正在使用具有自动完成功能的自定义数据。如果您这样做,则需要覆盖 selectfocus 函数,如 the documentation 中所述。 .

关于javascript - 如何远程使用 javascript 自动完成和 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31205919/

相关文章:

javascript - 使用 Jasmine 对过滤器组件进行单元测试

javascript - 使用 bitcoinjs 发送比特币交易

javascript - 如何通过 JSON 代码运行循环以仅查找 javascript 中的特定字符串?

php - 在文本框中显示两个值

javascript - 使用 AngularJS 和 ng-submit 记住密码

javascript - 查找使用 vue-cli 生成的 Webpack-simple 和 Vuejs 图像的问题

php - Gmail 和 Hotmail 被标记为垃圾邮件

php - 检查特定 id 的行是否出现在表格的前面

bash - 在 getopts 中为已解析的参数启用自动完成

visual-studio - Vim 中类似 Visual Studio 的自动完成功能