JQuery底層ajax實現

 在JQuery中,可用通過使用$.ajax(),$.get(),$.post()方式實現異步請求,這些方法可以不帶任何參數做請求,返回一個xmlhttprequest對象,

傳遞給回調函數來做處理。但通常情況下,可以通過對一些具體參數的設置來對請求過程的靈活控制和對請求結果進行處理。
詳細請求過程和參數設置:
 
  1. $.ajax({ 
  2.     url: "xxx.do?",//包含發送請求的URL字符串,後面也可以直接帶參數,例如:"xxx.do?name1="+value1+"&name2="+value2. 
  3.     method: "post",//默認爲get.get和post的詳細區別參考HTTP協議詳解 
  4.     data: { 
  5.         name1:"value1"
  6.         name2:"value2" 
  7.     },//data中包含的數據可以是一個queryString:name1=value1&name2=value2,也可以爲一個映射{name1:"value1",nam2:"value2"}.如果是後者,在請求 
  8.         過程中轉換成QueryString,這是處理過程可以通過設置processData:false來避免。 
  9.       //如果我們希望發送一個XML對象給服務器時,這種處理可能並不合適。並且在這種情況下,我們也應當改變contentType選項的值, 
  10.         用其他合適的MIME類型來取代默認的 application/x-www-form-urlencoded 。 
  11.  
  12.     dataType: "json",//請求返回結果的數據類型。還可以設置其它類型:html,text,json,jsonp. 
  13.                                          text和xml類型返回的數據不會經過處理。數據僅僅簡單的將XMLHttpRequest的responseText或responseHTML屬性傳 
  14.                                          遞給success回調函數. 
  15.                                     //我們必須確保網頁服務器報告的MIME類型與我們選擇的dataType所匹配。比如說,XML的話,服務器端就必須聲明 text/xml  
  16.                                       或者 application/xml 來獲得一致的結果。 
  17.                                     //如果指定爲html類型,任何內嵌的JavaScript都會在HTML作爲一個字符串返回之前執行。類似的,指定script類型的話, 
  18.                                       也會先執行服務器端生成JavaScript,然後再把腳本作爲一個文本數據返回。 
  19.  
  20.     async: "false",//默認爲true,即請求爲異步類型。如果設置爲false,則強制當前請求爲同步,執行當前請求時,頁面內其他所有代碼停止執行, 
  21.                      請求完成。 
  22.     cache: "false",//默認情況下,請求總會被發出去,但瀏覽器有可能從他的緩存中調取數據。要禁止使用緩存的結果,可以設置cache參數爲false。 
  23.     beforeSend: function(XMLHttpRequest){ 
  24.         //在發送請求之前調用,傳入一個XMLHttpRequest對象作爲參數 
  25.     }, 
  26.     error: function(XMLHttpRequest,errorMsg,errorMsg){ 
  27.         //發生錯誤時調用,傳入參數:XMLHttpRequest對象,errorMsg(描述錯誤類型的字符串)errorMsg(異常對象) 
  28.     }, 
  29.     dataFilter: function(data.dataType){ 
  30.         //請求成功後調用,傳入返回的數據和dataType的值。返回新的數據傳遞給success回調函數 
  31.     }, 
  32.     success: function(data){ 
  33.         //當請求之後調用。傳入返回後的數據,以及包含成功代碼的字符串。 
  34.     }, 
  35.     complete: function(XMLHttpRequest){ 
  36.         //當請求完成之後調用這個函數,無論成功或失敗。傳入XMLHttpRequest對象,以及一個包含成功或錯誤代碼的字符串 
  37.     }, 
  38.      
  39. }); 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章