这是一个API,它返回数组中的结果,用于自动建议
对于Eg。如果我查询“google”,我会得到如下结果
["google","google maps","google translate","google earth","google images","google docs","google voice","google scholar","google chrome","google calendar",]
您可以自己尝试here
这是我用来查询此API的代码,但它似乎没有返回结果。
Here's我用它的代码
$(function() {
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "q.php",
dataType: "json",
data: {
"q" : request.term
},
success: function( data ) {
response(data[1]);
}
});
},
minLength: 2
});
});
我不明白代码中哪里出错了 请指正!因为它似乎没有像我想的那样工作
编辑:从同一服务器访问数据
答案 0 :(得分:1)
你忘了在你的小提琴中添加jquery-ui库。但是,如果你做代码无论如何都无法工作,因为你无法通过ajax请求从另一个域访问数据。只有来自js代码执行的相同域。
答案 1 :(得分:0)
这可能会有所帮助
$(document).ready(function() {
$.getJSON('http://twitter.com/users/usejquery.json?callback=?', function(json) { //get information about the user usejquery from twitter api
$('#twitter_followers').text(json.followers_count); //get the follower_count from the json object and put it in a span
});
});
寻找称为跨域ajax的东西。 http://usejquery.com/posts/the-jquery-cross-domain-ajax-guide
答案 2 :(得分:0)
您可以在此处阅读有关在跨域环境中使用jQuery自动完成功能的信息:http://1300grams.com/2009/08/17/jquery-autocomplete-with-json-jsonp-support-and-overriding-the-default-search-parameter-q/
您还需要将jquery.autocomplete.js添加到jsFiddle环境中。