低階介面:jQuery.ajaxSetup()

(PS:這篇文章是官網API文件的非專業翻譯+個人意見,並且重新排版過)

低階介面:jQuery.ajaxSetup()

為接下來的Ajax請求設定預設值。不建議使用。

語法:

jQuery.ajaxSetup( options )   //version added: 1.1
  • options
    Type: PlainObject
    一組 鍵/值對用來設定Ajax請求的預設值。所有的選項都是選擇性的。

關於$.ajaxSetup()設定的細節請參考 $.ajax().

除了個別呼叫時的設定覆蓋外,接下來所有的Ajax請求都會使用這個新設定,直到下一次再調用$.ajaxSetup()為止。

注意:這裡所指定的設定將會影響所有的$.ajax呼叫,或是基於AJAX的衍生方法,像是$.get()。這可能會導致不良的行為,原因是因為其他的呼叫者(像是外掛(插件))可能會預期該設定為正常的預設設定值。基於這理由,我們強烈建議避免使用這個API。而取代的方法是,在每次呼叫時,顯式地設定選項,或是定義一個簡單的插件來完成目的。

下面例子在重複呼叫相同伺服器時,為url參數設定一個預設值。

$.ajaxSetup({
  url: "ping.php"
 
});

現在每一次Ajax請求發生時,"ping.php" URL會被自動使用。

$.ajax({
  // url not set here; uses ping.php
  data: { "name": "Dan" }
 
});

注意:全局回呼函式應該要由各自的全局Ajax事件處理函式—.ajaxStart().ajaxStop().ajaxComplete().ajaxError(), .ajaxSuccess().ajaxSend()—設定,而不要用 $.ajaxSetup()中的option物件。

(維克: $.ajaxSetup()中有些選項,像是 error、success等,其值為函式,當ajax中的error或是success發生時會被呼叫, 但這種方法並不好,建議使用Ajax全局處理函式,來註冊處理函式。譬如當sucess發生時,所有用.ajaxSuccess()註冊的函式都會被呼叫。)

範例:

設定Ajax請求的預設值 url為"/xmlhttp/",取消全局事件呼叫(維克:這導致Ajax事件處理函式註冊的函式不會被呼叫),用POST方法取代GET。下面的Ajax請求可以接著傳送資料而不需要任何額外的設定。

$.ajaxSetup({
  url: "/xmlhttp/",
  global: false,
  type: "POST"
});
$.ajax({ data: myData });
 
 

  按個讚!~支持本站!~

FB推薦載入中