$.get も $.post も同じ内容です。$.ajax を呼び出しています。ただ、ドキュメントから解りにくい引数の扱いがここではっきりしています。
まず、第二引数が function かどうかで、$.ajax に渡す引数が変わって来ます。
1) 第二引数が function で無い場合。
url, data, callback, type という引数の名前の意味のまま $.ajax に渡されます。
2) 第二引数が function の場合。
url, (第二引数のfunction) と渡されて、data は未定義となります。
その場合、type は、4番目の引数(type)が優先されて、
4番目の引数(type)が false( undefined や "" や 0 ) だと、3番目の引数(callback)が使われます。
type = type || callback
jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {
// shift arguments if data argument was omitted
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: method,
dataType: type,
data: data,
success: callback
});
};
});
しかし、戻り値が jQuery.ajax の結果を戻すので、$.get や $.post の後に .done を続ける事ができます