jquery - 如何让 JQuery Autocomplete 与 Ajax 和 JSON 配合使用?

标签 jquery ajax json autocomplete

我对 JQuery 的自动完成功能不熟悉。我正在尝试让这段代码正常工作。每次有人在输入字段中键入内容时,下面的代码都会正确执行 ajax 轮询。但是它不会降低自动完成功能。

$(document).ready(function() {
  $("#search").autocomplete({
    source: 'cityajax'
  });
});

这是从服务器成功提取的文件。 mime/内容类型设置为text/json。

['Overland Park','Hiawatha','Columbus','Lenexa','Pittsburg','Dodge City','Mission']

当实际源设置为 javascript 本身中的内联 JSON var 时,同样的事情也可以正常工作。这个问题一定是一些愚蠢的简单问题,但我花了一个半小时试图找出问题所在,但我遇到了障碍。我是否缺少某种必需的参数?

编辑:将我的“json”更改为这个有效的 JSON,仍然是同样的问题。

{"1": "Overland Park","1": "Hiawatha","1": "Columbus","1": "Lenexa","1": "Pittsburg","1": "Dodge City"}

编辑:再次将我的“json”更改为此。

[{"1": "Overland Park"},{"2": "Hiawatha"},{"3": "Columbus"},{"4": "Lenexa"},{"5": "Pittsburg"},{"6": "Dodge City"}]

编辑:将我的“json”更改为此,一切都很好。

[{"label": "欧弗兰帕克"},{"label": "Hiawatha"},{"label": "哥伦布"},{"label": "Lenexa"},{"5": "匹兹堡"},{"label": "道奇城"}]

最佳答案

你用的方法肯定行不通。我想问你怎么知道数据肯定已经到达那里。您是否通过 Firebug 在 XHR 中看到它?如果您不使用插件的远程源功能,您如何调用它?

按照您定义的方式,没有文件扩展名。因此,它将源设置为名为 cityajax 的字符串,该字符串无效。如果您的数据源是一个名为 cityajax 的变量,那么您可以将该变量放在那里而不带引号。

Jsonlint将允许您测试数据的有效性。

关于jquery - 如何让 JQuery Autocomplete 与 Ajax 和 JSON 配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389428/

相关文章:

javascript - 带有ajax错误消息的表单提交

php - AJAX 对象可以用于单向通信吗?

php - 从 PHP 创建的 JSON 提供了错误的数据?

javascript - 内部链接强制滚动到页面顶部

javascript - 计算 gif 重播次数

javascript - 如何找出我在脚本中使用了哪些 jQuery 函数?

iphone - 为什么SBJson JSON解析只得到最后一个感兴趣的key?

javascript - AJAX:帮助让 xml 显示在 html 中

javascript - 完整的 Javascript Promise 错误处理。如何?

json - 如何让 rjson 的 fromJSON 方法将 JSON NULL 转换为 R NA?