有人可以帮我理解下面的代码吗?我在这里找到了。
它利用带有远程源的 JQuery UI 自动完成功能。我已尽我所能对代码进行了注释,随后有一个更精确的问题。
$( "#city" ).autocomplete({
source: function( request, response ) {
//request is an objet which contains the user input so far
// response is a callback expecting an argument with the values to autocomplete with
$.ajax({
url: "http://ws.geonames.org/searchJSON", //where is script located
dataType: "jsonp", //type of data we send the script
data: { //what data do we send the script
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function( data ) { //CONFUSED!
response(
$.map(
data.geonames, function( item ) {
return {
label: item.name+(item.adminName1 ? ","+item.adminName1:"")+","+item.countryName,
value: item.name
}
}
)
);
}
});
}
});
如您所见,我不了解成功函数和响应回调的使用。
我知道成功函数文字是一个 AJAX 选项,在 AJAX 查询返回时调用。在这种情况下,它似乎封装了对响应回调的调用?哪个定义在哪里?我认为根据回调的定义,它应该自己调用吗?
谢谢!