jQueryのドキュメントに少し混乱しています。私はこのページを見て説明$.getJSON
しています。コードサンプルは次のとおりです。
$.getJSON('ajax/test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
ただし、メソッドのシグネチャはですjQuery.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )
。ここdata
で、はサーバーに送信されるオブジェクトでありsuccess
、JSONリクエストが正常に返されたときに呼び出されるメソッドです。
では、なぜサンプルコードが機能するのでしょうか。2番目の引数をスキップしたようです。私は正しいコードが次のようになることを期待していました:
$.getJSON('ajax/test.json', {}, function(data) {
// and then the same from here
角かっこは引数[, data]
と[, success]
引数がオプションであることを意味しますが、JavaScriptが可変数の引数をどのように処理するかを理解していないと思います。
お時間をいただきありがとうございます。