誰かが私が次のコードを理解するのを手伝ってもらえますか?ここで見つけました。
リモートソースでJQueryUIオートコンプリートを利用します。私はできる限りコードにコメントしましたが、より正確な質問がそれに続きます。
$( "#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
}
}
)
);
}
});
}
});
ご覧のとおり、success関数と応答コールバックの使用法がわかりません。
成功関数リテラルは、AJAXクエリが返されるときに呼び出されるAJAXオプションであることを知っています。この場合、応答コールバックへの呼び出しをカプセル化しているように見えますか?どちらがどこで定義されていますか?コールバックの定義から、それはそれ自体で呼び出されるべきだと思いましたか?
ありがとう!