これまで、jQueryのAjaxメソッドやイベントについて紹介してきました。

今回は、すべてのAjaxメソッドの初期値を設定するajaxSetupについて紹介します。

jQueryの取得などについては下記リンクをご参照ください。

初期値ajaxSettings

Ajax通信を行うときには、HTTPメソッドをGETにするかPOSTにするかや async をtrueにするかfalseにするかなどいくつかのオプションが有り、jQueryのAjax基本メソッド$.ajaxでは、それらのオプションを引数として渡して通信を行う仕様になっています。

$.ajax() の引数optionのキー一覧

しかし、$.ajaxには、それらのオプションをいちいち設定しなくても自動で設定される初期値が用意されており、その初期値は、結果として$.ajaxをベースとするjQueryのAjaxメソッドすべての初期値として利用されています。

それは、jQueryコードのv1.3.2なら3365行目にあるajaxSettingsオブジェクトで、内容は以下の通りです。
  ajaxSettings: {
    url: location.href,
    global: true,
    type: "GET",
    contentType: "application/x-www-form-urlencoded",
    processData: true,
    async: true,
    xhr:function(){
      return window.ActiveXObject ? 
             new ActiveXObject("Microsoft.XMLHTTP") : 
             new XMLHttpRequest();
    },
    accepts: {
      xml: "application/xml, text/xml",
      html: "text/html",
      script: "text/javascript, application/javascript",
      json: "application/json, text/javascript",
      text: "text/plain",
      _default: "*/*"
    }
  }
設定されている初期値は、見た通りですが、 つまり、たとえば、特別設定をしなければ、$.ajaxやその他AjaxメソッドのURL初期値は「location.href」なので、そのページ自身となります。

また、globalオプションは「true」ですので、グローバルイベントajaxCompleteやajaxSend などが有効であり、HTTPメソッドタイプは「GET」となります。 (ただし、$.postでは「POST」が上書きされます。)

そして、このajaxSettingsをセットするメソッドがajaxSetupです。

次ページでは、ajaxSetupを確認します。