【发布时间】:2012-10-15 22:32:51
【问题描述】:
使用远程数据自动完成的正确方法是什么?我在
阅读了文档http://docs.jquery.com/Plugins/Autocomplete
并运行示例代码。该示例适用于存储在 JS 数组中的本地数据,但是当我使用远程 URL 时,它不起作用。我看到正在生成自动完成 HTTP 请求,并且我可以看到我的本地 Web 服务器以正确的数据响应。但是没有弹出自动完成信息。
这是我的 .html 代码,它与 jquery 文档中的示例仅相差 2 行:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/demo/main.css" type="text/css" />
<link rel="stylesheet" href="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.css" type="text/css" />
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.bgiframe.min.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/lib/jquery.dimensions.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/autocomplete/jquery.autocomplete.js"></script>
<script>
$(document).ready(function(){
url = "http://localhost:8000/autocomplete/"
$("#example").autocomplete(url);
});
</script>
</head>
<body>
API Reference: <input id="example" /> (try "C" or "E")
</body>
</html>
.htm 文件中是否还需要其他任何内容?我应该更改服务器返回的数据格式吗?目前,当我在文本框中输入“fr”时,我的服务器会返回:
["fractal","FRACTAL","fractalzebra","frad","Fraet",]
我只是想显示一个简单的字符串列表,我不需要在服务器响应中包含任何其他数据,除非 jquery 需要它。
先谢谢了,这个问题一直困扰着我。
-特拉维斯
【问题讨论】:
-
看起来您返回的 JSON 无效。试着把最后一个逗号去掉。那它有用吗?
-
我厌倦了删除逗号,它没有帮助。请参阅下面的评论。
标签: jquery autocomplete jquery-autocomplete