【问题标题】:Convert JSON function into AJAX/JQuery function将 JSON 函数转换为 AJAX/JQuery 函数
【发布时间】:2018-01-19 22:24:34
【问题描述】:

我需要一些帮助,我将在下面发布到 JQuery/AJAX 函数中的这个 php 代码。我还想知道如何在我将发布的第二个代码中调用该函数。

<?php
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$searchTerm = $_GET['term'];
$query = $db->query("SELECT * FROM ncic_names WHERE name LIKE 
    '%" . $searchTerm . "%' ORDER BY name ASC");

while ($row = $query->fetch_assoc())
    {
    $data[] = $row['name'];
    }

echo json_encode($data);

这是我希望调用新的 javascript 函数的地方

<script>
$(function() {
    $("#ncic_name").autocomplete({
        source: 'search.php'
    });
});
</script>

【问题讨论】:

  • 我完全不明白你在这里要求做什么......想详细说明一下吗?
  • 您正在做的事情看起来应该可行。检查开发人员工具中的网络选项卡,查看返回的 JSON 是否正确。
  • 您是否加载了 jQuery UI 库以便获得自动完成小部件?
  • @IncredibleHat 当然可以。我希望能够将它与其他函数一起使用,这样它就不必在一个文件中,我需要它在 Ajax/JQuery 函数中,而不是它的样子。
  • @Barmar 问题不在于它不起作用,它确实起作用。

标签: php jquery json ajax jquery-ui-autocomplete


【解决方案1】:

您可以使用$.get 自己执行AJAX 调用:

function search_ncic(name, callback) {
    return $.get("search.php", {term: name}, callback);
}

callback 函数将被调用,返回的数组作为其参数。并且由于这会返回 $.get 返回的 promise,因此您也可以使用 search_ncic(name).then(...)

【讨论】:

  • 我肯定误解了这一点。我想要数据库抓取器的功能。自动完成功能可以保留,我只想要同一页面的其他部分或一种将其与 PHP 函数一起放置而不会发生问题的方式。
  • 我不明白。什么“其他部分”?你不能把 PHP 和 JS 代码放在一起,它们在不同的时间运行在不同的机器上。
  • 从数据库中获取信息的部分。我希望能够拥有其他东西,目前,如果我把它放在主页上它会运行它,所以我只希望它在我开始输入时运行。
  • 好的,我想我明白你在问什么,我已经替换了我的答案。
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多