首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让与Ajax和JQuery协同工作?

如何让与Ajax和JQuery协同工作?
EN

Stack Overflow用户
提问于 2011-06-18 01:25:51
回答 2查看 1.9K关注 0票数 2

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

代码语言:javascript
复制
$(document).ready(function() {
  $("#search").autocomplete({
    source: 'cityajax'
  });
});

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

代码语言:javascript
复制
['Overland Park','Hiawatha','Columbus','Lenexa','Pittsburg','Dodge City','Mission']

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

编辑:将我的"json“更改为这个有效的JSON,仍然存在相同的问题。

代码语言:javascript
复制
{"1": "Overland Park","1": "Hiawatha","1": "Columbus","1": "Lenexa","1": "Pittsburg","1": "Dodge City"}

编辑:再次将我的"json“更改为这个。

代码语言:javascript
复制
[{"1": "Overland Park"},{"2": "Hiawatha"},{"3": "Columbus"},{"4": "Lenexa"},{"5": "Pittsburg"},{"6": "Dodge City"}]

编辑:将我的"json“更改为这个,一切都很好。

{"label":"Overland Park"},{"label":"Hiawatha"},{"label":"Columbus"},{"label":"Lenexa"},{"5":“匹兹堡”},{"label":"Dodge City"}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-18 01:31:42

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2011-06-18 01:44:10

自动完成的简单示例:

代码语言:javascript
复制
$( "#test" ).autocomplete({
            source: "search.php"
                        })

在search.php中

代码语言:javascript
复制
<?php
    echo [{"label":"Overland Park"},{"label":"Hiawatha"}]
?>

如果您想要本地搜索,而不是Ajax,请使用以下代码

代码语言:javascript
复制
var cityajax = ['Overland Park','Hiawatha','Columbus','Lenexa','Pittsburg','Dodge City','Mission']

$(document).ready(function() {
  $("#search").autocomplete({
    source: cityajax
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6389428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档