Javascript jQuery如何自动完成动态筛选响应
我目前正在使用自动完成输入 我的问题是:上面链接的演示如何自动过滤结果? 如果我使用本地数据存储,它会为我过滤结果Javascript jQuery如何自动完成动态筛选响应,javascript,jquery,google-app-engine,autocomplete,Javascript,Jquery,Google App Engine,Autocomplete,我目前正在使用自动完成输入 我的问题是:上面链接的演示如何自动过滤结果? 如果我使用本地数据存储,它会为我过滤结果 <script> var suggestions = [ "Afghan", "African", "Senegalese", "American", "Arabian",
<script>
var suggestions = [ "Afghan",
"African",
"Senegalese",
"American",
"Arabian",
"Arab Pizza",
"Argentine",
"Armenian",
"Asian Fusion",
"Asturian",
"Australian",
"Austrian"
]
$('#categories').autocomplete({
// serviceUrl: '/autocomplete/categories',
lookup: suggestions,
delimiter: ',',
maxHeight: 200,
minChars: 2
});
</script>
在这个版本中,它仍然对所有条目进行编辑距离,但过滤不再起作用
以下是他们的API:
这里有很多选项,如果有人能给我一些建议,其中一个可能会有所帮助,那就太好了。该演示没有使用外部数据源
但我不确定你在问什么:使用外部数据源的全部意义在于它是进行过滤的源-它只返回与Ajax get发送的令牌匹配的值。否则,您也可以将所有数据包含在原始请求中 当您尝试使用javascript向其他服务器请求时,由于安全问题,通常会被Web浏览器阻止。(您可以通过关键字
跨域javascript请求进行谷歌搜索
)
如果您使用java,您可以创建一些java代码控制器或Servlet(不是javascript),将请求传递给其他服务器,并将其传递给html(就像一座桥)。或者,如果您使用PHP或Python,也可以做同样的事情 哦,我使用的是外部源,因为它包含很多数据项。我想读入条目,而不是将所有条目放入Javascript数组中。这可能不是应该使用的方式吗?
class AjaxHandler(webapp2.RequestHandler):
def __init__(self, request, response):
self.initialize(request, response)
self.categories = []
with open("static/categories.data") as categories_file:
for entry in categories_file:
self.categories.append(str(entry))
print entry
def get(self):
suggestions = {"suggestions": self.categories}
self.response.write(json.dumps(suggestions))
self.response.headers.add_header("Content-Type", "application/json; charset-UTF-8")