所以我想出了这个脚本,ajax调用google的建议,JSONP返回搜索结果。在Decad的帮助下,我设法实现了自动完成功能,但似乎我遇到了一个我一直在努力解决的小问题。
当我输入一封信时,我得到的结果很少,如果我选择其中一个结果并重写另一个字母,我会得到之前选择的结果。就像它的缓存一样。
这是一个工作小提琴:http://jsfiddle.net/WUcpC/1/ 以下是我的问题预览:http://www.screenr.com/DKBs
任何建议和帮助表示赞赏。 非常感谢
答案 0 :(得分:2)
Internet Explorer始终缓存AJAX调用,而其他浏览器的行为则不同。所以我们最好明确地告诉浏览器是否应该缓存AJAX。使用jQuery,我们只需键入:
即可完成此操作尝试:
$.ajaxSetup ({
cache: false
});
答案 1 :(得分:1)
如果您使用IE,可能是IE缓存GET请求。即使您明确将缓存值设置为false。尝试添加nocache参数:
var noCache = new Date().getTime();
然后将其添加到网址
url: 'http://suggestqueries.google.com/complete/search?qu=' + encodeURIComponent($('#q').val())+'&nocache='+noCache,