jquery.jsを読み解く

第11回 jQueryライブラリ(2365行目~2529行目)

この記事を読むのに必要な時間:およそ 5 分

jQuery.getScript()

2483:   getScript: function( url, callback ) {
2484:     return jQuery.get(url, null, callback, "script");
2485:   },
2486: 

2483行目は,外部からJavaScriptファイルを読み込むjQuery.getScript()メソッドの定義になります。こちらは,jQuery.get()の第4引数typeが"script"になっただけで処理内容は同じです。

jQuery.getJSON()

2487:   getJSON: function( url, data, callback ) {
2488:     return jQuery.get(url, data, callback, "json");
2489:   },
2490: 

2487行目は,外部からJSON形式のデータを読み込むjQuery.getJSON()メソッドの定義になります。こちらも,jQuery.get()の第4引数typeが"json"になっただけで処理内容は同じです。

jQuery.post()

2491:   post: function( url, data, callback, type ) {
2492:     if ( jQuery.isFunction( data ) ) {
2493:       callback = data;
2494:       data = {};
2495:     }
2496: 
2497:     return jQuery.ajax({
2498:       type: "POST",
2499:       url: url,
2500:       data: data,
2501:       success: callback,
2502:       dataType: type
2503:     });
2504:   },
2505: 

2491行目は,POSTメソッドを使って外部サーバからコンテンツを取得するjQuery.post()メソッドの定義になります。jquery.get()と同様にjQuery.ajax()メソッドのラッパになっています。違うのは,引数typeが"POST"になっていることで,それ以外の処理は共通になります。

jQuery.ajaxSetup()

2506:   ajaxSetup: function( settings ) {
2507:     jQuery.extend( jQuery.ajaxSettings, settings );
2508:   },
2509: 

2506行目からは,jQuery.ajaxSetup()メソッドの定義です。jQuery.ajax()メソッドを呼び出す際のデフォルト値を設定するためのものです。2507行目のjQuery.extend()メソッドを利用して,次に出てくるajaxSettingsの値を引数settingsで上書きします。

jQuery.ajaxSettings

2510:   ajaxSettings: {
2511:     global: true,
2512:     type: "GET",
2513:     timeout: 0,
2514:     contentType: "application/x-www-form-urlencoded",
2515:     processData: true,
2516:     async: true,
2517:     data: null,
2518:     username: null,
2519:     password: null,
2520:     accepts: {
2521:       xml: "application/xml, text/xml",
2522:       html: "text/html",
2523:       script: "text/javascript, application/javascript",
2524:       json: "application/json, text/javascript",
2525:       text: "text/plain",
2526:       _default: "*/*"
2527:     }
2528:   },
2529:   

2510行目からは,jQuery.ajaxSettingsの定義になります。jQuery.ajax()メソッドによって利用される各種設定のデフォルト値を定義しています。

globalajaxStartやajaxStopといったグローバルイベントを実行するかどうかのフラグでデフォルトはtrue
typeリクエストメソッドの種類
timeout名前のとおり,リクエストのタイムアウト値
contentTypeサーバにデータを送る際のcontent-typeの種類で,デフォルトは"application/x-www-form-urlencoded"。これを変更することはあまりないでしょう
processDatadataに文字列以外のオブジェクトが渡されてきた場合に,クエリー文字列形式に変換するかどうかのフラグ。デフォルト値はtrueで,DOMなどのデータを送信したい場合はこれをfalseにすると良いでしょう
async非同期通信を行うかどうかのフラグで,falseにすると通信を行っている間の処理はブロックされる
data相手のサーバに送信されるパラメータで,デフォルトはnull
username認証が必要な場合に利用されるユーザID
password認証が必要な場合に利用されるパスワード
acceptsサーバに送信されるAcceptヘッダの種類

著者プロフィール

山下英孝(やましたひでたか)

大学を卒業後,大手SIerに就職し,電機メーカーの研究所勤務を経て,ウノウに入社。1年半に渡ってWebサイトの開発,ディレクション,運用を経験した後に独立。2008年2月よりフリーエンジニアとして活動中。好きな言語はJavaScriptとPythonで,Linuxサーバ運用管理も得意。

ブログWeboo! Returns.