欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jquery操作Ajax方法小結(jié)

 更新時間:2015年11月29日 11:10:31   作者:檸檬先生  
這篇文章主要介紹了Jquery操作Ajax方法小結(jié)的相關(guān)資料,需要的朋友可以參考下

ajax() 方法通過 HTTP 請求加載遠程數(shù)據(jù)。

該方法是 jQuery 底層 AJAX 實現(xiàn)。簡單易用的高層實現(xiàn)見 $.get, $.post 等。$.ajax() 返回其創(chuàng)建的 XMLHttpRequest 對象。大多數(shù)情況下你無需直接操作該函數(shù),除非你需要操作不常用的選項,以獲得更多的靈活性。

最簡單的情況下,$.ajax() 可以不帶任何參數(shù)直接使用。

注意:所有的選項都可以通過 $.ajaxSetup() 函數(shù)來全局設(shè)置。

語法

jQuery.ajax([settings])

參數(shù) 描述
settings

可選。用于配置 Ajax 請求的鍵值對集合。

可以通過 $.ajaxSetup() 設(shè)置任何選項的默認值。

jQuery.get()

  使用一個HTTP GET 請求從服務(wù)器加載數(shù)據(jù)。

  jQuery.get(url [,data] [,success(data,textStatus,jqXHR)] [dtaType])

    url 一個包含發(fā)送請求的URL
    data 發(fā)送給服務(wù)器的字符串后鍵值對
    success() 當請求成功時回調(diào)的函數(shù)
    dataType 從服務(wù)器返回的預(yù)期數(shù)據(jù)。

  用法:

$.get("test.cgi", { name: "John", time: "2pm" },
    function(data){
      alert("Data Loaded: " + data);
  });

jQuery.getJSON()

  使用一個HTTP GET 請求服務(wù)器加載JSON 編碼的數(shù)據(jù)。

  jQuery.getJSON(url [,data] [,success(data,textStatus,jqXHR)])
    url 一個包含發(fā)送請求的URL
    data 發(fā)送給服務(wù)器的字符串后鍵值對
    success() 當請求成功時回調(diào)的函數(shù)

jQuery.getScript()

  使用一個HTTP GET請求從服務(wù)器加載并執(zhí)行一個JavaScript文件。
  jQuery.getScript(url[success(script,textStatus,jqXHR)])
    url 一個包含發(fā)送請求的URL
    data 發(fā)送給服務(wù)器的字符串后鍵值對

  用法:

  $.getScript("ajax/test.js", function(data, textStatus, jqxhr) {
    console.log(data); //data returned
    console.log(textStatus); //success
    console.log(jqxhr.status); //200
    console.log('Load was performed.');
  });

jQuery.post([settings])

  使用一個HTTP POST請求從服務(wù)器加載數(shù)據(jù)。
  jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
    url 一個包含發(fā)送請求的URL
    data 發(fā)送給服務(wù)器的字符串后鍵值對
    success() 當請求成功時回調(diào)的函數(shù)

  用法:

    $.post("test.php", { name: "John", time: "2pm" },
      function(data) {
        alert("Data Loaded: " + data);
  });

.load()

  從服務(wù)器載入數(shù)據(jù)并且將返回的HTML代碼并插入至匹配的元素中。

  .load(url[,data][,complete(responseText,textStatus,XMLHttpRequest)])
    url 一個包含發(fā)送請求的URL
    data 發(fā)送給服務(wù)器的字符串后鍵值對
    complete 當請求成功時回調(diào)的函數(shù)

  用法:

$('#result').load('ajax/test.html #container');

jQuery.ajax()

  執(zhí)行一個異步的HTTP(ajax)的請求。

  參數(shù):

  url 類型: Sting 發(fā)送請求的地址(默認當前頁面)
  type 類型:Sting (默認為GET) 請求方式(”POST“或”GET“)
  timeout 類型:Number 設(shè)置請求超時時間(毫秒),此設(shè)置默認覆蓋全局。
  async 類型:Boolean 默認設(shè)置(true)默認設(shè)置下所有請求均為一步請求,如果需要同步請求,設(shè)置為false。
  beforeSend 類型:function 發(fā)送請求前可修改 XMLHttpRequest 對象的函數(shù),如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數(shù)。
  cache 類型:Boolean  默認為(true) 設(shè)置為false 將不會從瀏覽器緩存中加載請求信息。
  complete 類型:Function  請求完成后回調(diào)函數(shù),(請求成功或失敗時均調(diào)用)參數(shù): XMLHttpRequest 對象,成功信息字符串。function (  XMLHttpRequest,            textStatus) {this; // the options for this ajax request}
  contentType  類型為:String  發(fā)送信息至服務(wù)器時內(nèi)容編碼類型,默認值適合大多數(shù)應(yīng)用場合。
  data 類型:Object String 發(fā)送到服務(wù)器的數(shù)據(jù)。將自動轉(zhuǎn)換為請求字符串格式,GET請求附加在URL后
  dataType 類型:String 預(yù)期服務(wù)器返回的數(shù)據(jù)類型, ”xml“返回XML文檔?!県tml“返回純文本信息,包含script 元素?!眘cript“返回純文本JavaScript 代碼,不會自動緩存     結(jié)果。”json“返回JSON 數(shù)組?!眏sonp“JSONP格式。
  error 類型:function 請求失敗時將調(diào)用此方法。
  global  類型:Boolean 是否觸發(fā)全局AJAX事件。默認為(true) 設(shè)置為false 將不會觸發(fā)全局ajax 事件,可用于控制不同的AJAX事件。
  ifModified 類型:Boolean  默認為false 僅在服務(wù)器數(shù)據(jù)改變時獲取新數(shù)據(jù)。
  processData 類型:Boolean  默認為(true)默認情況下,發(fā)送的數(shù)據(jù)發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對象(技術(shù)上講并非字符串) 以配合默認內(nèi)容類型 "application/x-www-form-            urlencoded"。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請設(shè)置為 false。
  success  類型:Function  請求成功后回調(diào)函數(shù)。這個方法有兩個參數(shù):服務(wù)器返回數(shù)據(jù),返回狀態(tài)。

$(document).ready(function() {
    jQuery("#clearCac").click(function() {
      jQuery.ajax({
        url: "/Handle/Do.aspx",
        type: "post",
        data: { id: '0' },
        dataType: "json",
        success: function(msg) {
          alert(msg);
        },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert(XMLHttpRequest.status);
        alert(XMLHttpRequest.readyState);
        alert(textStatus);
      },
      complete: function(XMLHttpRequest, textStatus) {
        this; // 調(diào)用本次AJAX請求時傳遞的options參數(shù)
    }
  });
  });
});

  error事件返回的第一個參數(shù)XMLHttpRequest有一些有用的信息:

    XMLHttpRequest.readyState:

  狀態(tài)碼

    0 - (未初始化)還沒有調(diào)用send()方法

    1 - (載入)已調(diào)用send()方法,正在發(fā)送請求

    2 - (載入完成)send()方法執(zhí)行完成,已經(jīng)接收到全部響應(yīng)內(nèi)容

    3 - (交互)正在解析響應(yīng)內(nèi)容

    4 - (完成)響應(yīng)內(nèi)容解析完成,可以在客戶端調(diào)用了

XMLHttpRequest.status:

1xx-信息提示
這些狀態(tài)代碼表示臨時的響應(yīng)??蛻舳嗽谑盏匠R?guī)響應(yīng)之前,應(yīng)準備接收一個或多個1xx響應(yīng)。
100-繼續(xù)。
101-切換協(xié)議。
2xx-成功
這類狀態(tài)代碼表明服務(wù)器成功地接受了客戶端請求。
200-確定??蛻舳苏埱笠殉晒?。
201-已創(chuàng)建。
202-已接受。
203-非權(quán)威性信息。
204-無內(nèi)容。
205-重置內(nèi)容。
206-部分內(nèi)容。
3xx-重定向
客戶端瀏覽器必須采取更多操作來實現(xiàn)請求。例如,瀏覽器可能不得不請求服務(wù)器上的不同的頁面,或通過代理服務(wù)器重復(fù)該請求。
301-對象已永久移走,即永久重定向。
302-對象已臨時移動。
304-未修改。
307-臨時重定向。
4xx-客戶端錯誤
發(fā)生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。400-錯誤的請求。
401-訪問被拒絕。IIS定義了許多不同的401錯誤,它們指明更為具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日志中顯示:
401.1-登錄失敗。
401.2-服務(wù)器配置導(dǎo)致登錄失敗。
401.3-由于ACL對資源的限制而未獲得授權(quán)。
401.4-篩選器授權(quán)失敗。
401.5-ISAPI/CGI應(yīng)用程序授權(quán)失敗。
401.7–訪問被Web服務(wù)器上的URL授權(quán)策略拒絕。這個錯誤代碼為IIS6.0所專用。
403-禁止訪問:IIS定義了許多不同的403錯誤,它們指明更為具體的錯誤原因:
403.1-執(zhí)行訪問被禁止。
403.2-讀訪問被禁止。
403.3-寫訪問被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP地址被拒絕。
403.7-要求客戶端證書。
403.8-站點訪問被拒絕。
403.9-用戶數(shù)過多。
403.10-配置無效。
403.11-密碼更改。
403.12-拒絕訪問映射表。
403.13-客戶端證書被吊銷。
403.14-拒絕目錄列表。
403.15-超出客戶端訪問許可。
403.16-客戶端證書不受信任或無效。
403.17-客戶端證書已過期或尚未生效。
403.18-在當前的應(yīng)用程序池中不能執(zhí)行所請求的URL。這個錯誤代碼為IIS6.0所專用。
403.19-不能為這個應(yīng)用程序池中的客戶端執(zhí)行CGI。這個錯誤代碼為IIS6.0所專用。
403.20-Passport登錄失敗。這個錯誤代碼為IIS6.0所專用。
404-未找到。
404.0-(無)–沒有找到文件或目錄。
404.1-無法在所請求的端口上訪問Web站點。
404.2-Web服務(wù)擴展鎖定策略阻止本請求。
404.3-MIME映射策略阻止本請求。
405-用來訪問本頁面的HTTP謂詞不被允許(方法不被允許)
406-客戶端瀏覽器不接受所請求頁面的MIME類型。
407-要求進行代理身份驗證。
412-前提條件失敗。
413–請求實體太大。
414-請求URI太長。
415–不支持的媒體類型。
416–所請求的范圍無法滿足。
417–執(zhí)行失敗。
423–鎖定的錯誤。
5xx-服務(wù)器錯誤
服務(wù)器由于遇到錯誤而不能完成該請求。
500-內(nèi)部服務(wù)器錯誤。
500.12-應(yīng)用程序正忙于在Web服務(wù)器上重新啟動。
500.13-Web服務(wù)器太忙。
500.15-不允許直接請求Global.asa。
500.16–UNC授權(quán)憑據(jù)不正確。這個錯誤代碼為IIS6.0所專用。
500.18–URL授權(quán)存儲不能打開。這個錯誤代碼為IIS6.0所專用。
500.100-內(nèi)部ASP錯誤。
501-頁眉值指定了未實現(xiàn)的配置。
502-Web服務(wù)器用作網(wǎng)關(guān)或代理服務(wù)器時收到了無效響應(yīng)。
502.1-CGI應(yīng)用程序超時。
502.2-CGI應(yīng)用程序出錯。application.
503-服務(wù)不可用。這個錯誤代碼為IIS6.0所專用。
504-網(wǎng)關(guān)超時。
505-HTTP版本不受支持。
jQuery.param()
創(chuàng)建一個數(shù)組,一個普通的對象,或一個jQuery對象的序列化表現(xiàn)形似,用于URL查詢字符串或Ajax請求。
jQuery.param(obj)
obj 一個用來序列化的一個數(shù)組,一個普通的對象,或一個jQuery對象。
jQuery.param( obj, traditional )
obj 一個用來序列化的一個數(shù)組,一個普通的對象,或一個jQuery對象。
traditional
一個布爾值,指示是否執(zhí)行了傳統(tǒng)的“shallow”的序列化。
$.param({ a: [2,3,4] }) // "a[]=2&a[]=3&a[]=4"
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"

相關(guān)文章

最新評論