首頁 > web前端 > js教程 > Jquery操作Ajax方法小結_jquery

Jquery操作Ajax方法小結_jquery

WBOY
發布: 2016-05-16 15:29:07
原創
1390 人瀏覽過

ajax() 方法透過 HTTP 請求載入遠端資料。

此方法是 jQuery 底層 AJAX 實作。簡單易用的高層實作請見 $.get, $.post 等。 $.ajax() 傳回其建立的 XMLHttpRequest 物件。大多數情況下你無需直接操作該函數,除非你需要操作不常用的選項,以獲得更多的彈性。

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

注意:所有的選項都可以透過 $.ajaxSetup() 函數來全域設定。

文法

jQuery.ajax([settings])
登入後複製

參數 settings 可選。用於設定 Ajax 請求的鍵值對集合。
参数 描述
settings

可选。用于配置 Ajax 请求的键值对集合。

可以通过 $.ajaxSetup() 设置任何选项的默认值。

可以透過$.ajaxSetup() 設定任何選項的預設值。 <🎜>

jQuery.get()

  使用一个HTTP GET 请求从服务器加载数据。

  jQuery.get(url [,data] [,success(data,textStatus,jqXHR)] [dtaType])
登入後複製

    url 一个包含发送请求的URL
    data 发送给服务器的字符串后键值对
    success() 当请求成功时回调的函数
    dataType 从服务器返回的预期数据。

  用法:

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

jQuery.getJSON()

  使用一个HTTP GET 请求服务器加载JSON 编码的数据。

  jQuery.getJSON(url [,data] [,success(data,textStatus,jqXHR)])
    url 一个包含发送请求的URL
    data 发送给服务器的字符串后键值对
    success() 当请求成功时回调的函数

jQuery.getScript()

  使用一个HTTP GET请求从服务器加载并执行一个JavaScript文件。
  jQuery.getScript(url[success(script,textStatus,jqXHR)])
    url 一个包含发送请求的URL
    data 发送给服务器的字符串后键值对

  用法:

  $.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请求从服务器加载数据。
  jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
    url 一个包含发送请求的URL
    data 发送给服务器的字符串后键值对
    success() 当请求成功时回调的函数

  用法:

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

.load()

  从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。

  .load(url[,data][,complete(responseText,textStatus,XMLHttpRequest)])
    url 一个包含发送请求的URL
    data 发送给服务器的字符串后键值对
    complete 当请求成功时回调的函数

  用法:

$('#result').load('ajax/test.html #container');
登入後複製

jQuery.ajax()

  执行一个异步的HTTP(ajax)的请求。

  参数:

  url 类型: Sting 发送请求的地址(默认当前页面)
  type 类型:Sting (默认为GET) 请求方式(”POST“或”GET“)
  timeout 类型:Number 设置请求超时时间(毫秒),此设置默认覆盖全局。
  async 类型:Boolean 默认设置(true)默认设置下所有请求均为一步请求,如果需要同步请求,设置为false。
  beforeSend 类型:function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
  cache 类型:Boolean 默认为(true) 设置为false 将不会从浏览器缓存中加载请求信息。
  complete 类型:Function 请求完成后回调函数,(请求成功或失败时均调用)参数: XMLHttpRequest 对象,成功信息字符串。function ( XMLHttpRequest,      textStatus) {this; // the options for this ajax request}
  contentType 类型为:String 发送信息至服务器时内容编码类型,默认值适合大多数应用场合。
  data 类型:Object String 发送到服务器的数据。将自动转换为请求字符串格式,GET请求附加在URL后
  dataType 类型:String 预期服务器返回的数据类型, ”xml“返回XML文档。”html“返回纯文本信息,包含script 元素。”script“返回纯文本JavaScript 代码,不会自动缓存     结果。”json“返回JSON 数组。”jsonp“JSONP格式。
  error 类型:function 请求失败时将调用此方法。
  global 类型:Boolean 是否触发全局AJAX事件。默认为(true) 设置为false 将不会触发全局ajax 事件,可用于控制不同的AJAX事件。
  ifModified 类型:Boolean 默认为false 仅在服务器数据改变时获取新数据。
  processData 类型:Boolean 默认为(true)默认情况下,发送的数据发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form- urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
  success 类型:Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态。

$(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; // 调用本次AJAX请求时传递的options参数
    }
  });
  });
});
登入後複製

  error事件回傳的第一個參數XMLHttpRequest有一些有用的資訊:

    XMLHttpRequest.readyState:

  狀態碼

    0 - (未初始化)還沒有呼叫send()方法

    1 - (載入)已呼叫send()方法,正在傳送請求

    2 - (載入完成)send()方法執行完成,已經接收到全部回應內容

    3 - (互動)正在解析回應內容

    4 - (完成)回應內容解析完成,可以在客戶端呼叫了

XMLHttpRequest.status:

1xx-訊息提示
這些狀態代碼表示臨時的回應。客戶端在收到常規回應之前,應準備接收一個或多個1xx回應。
100-繼續。
101-切換協定​​。
2xx-成功
這類狀態代碼表示伺服器成功地接受了客戶端請求。
200-確定。客戶端請求已成功。
201-已建立。
202-已接受。
203-非權威性資訊。
204-無內容。
205-重置內容。
206-部分內容。
3xx-重定向
客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能必須請求伺服器上的不同的頁面,或透過代理伺服器重複該請求。
301-物件已永久移走,即永久重定向。
302-對像已臨時移動。
304-未修改。
307-暫時重定向。
4xx-客戶端錯誤
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證資訊。 400-錯誤的請求。
401-訪問被拒絕。 IIS定義了許多不同的401錯誤,它們指明更具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日誌中顯示:
401.1-登入失敗。
401.2-伺服器配置導致登入失敗。
401.3-由於ACL對資源的限製而未獲得授權。
401.4-篩選器授權失敗。
401.5-ISAPI/CGI應用程式授權失敗。
401.7–存取被Web伺服器上的URL授權策略拒絕。這個錯誤代碼為IIS6.0所專用。
403-禁止存取:IIS定義了許多不同的403錯誤,它們指明更具體的錯誤原因:
403.1-執行訪問被禁止。
403.2-讀取訪問被禁止。
403.3-寫入訪問被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP位址被拒絕。
403.7-要求客戶端證書。
403.8-站點訪問被拒絕。
403.9-用戶數過多。
403.10-配置無效。
403.11-密碼更改。
403.12-拒絕存取映射表。
403.13-客戶端憑證被吊銷。
403.14-拒絕目錄列表。
403.15-超出客戶端存取許可。
403.16-客戶端憑證不受信任或無效。
403.17-客戶端憑證已過期或尚未生效。
403.18-在目前的應用程式集區中不能執行所請求的URL。這個錯誤代碼為IIS6.0所專用。
403.19-不能為這個應用程式集區中的客戶端執行CGI。這個錯誤代碼為IIS6.0所專用。
403.20-Passport登入失敗。這個錯誤代碼為IIS6.0所專用。
404-未找到。
404.0-(無)–沒有找到檔案或目錄。
404.1-無法在所要求的連接埠上存取Web站點。
404.2-Web服務擴充鎖定策略阻止本請求。
404.3-MIME映射策略阻止本請求。
405-用來存取本頁面的HTTP謂詞不被允許(方法不被允許)
406-客戶端瀏覽器不接受所要求頁面的MIME類型。
407-要求進行代理身份驗證。
412-前提條件失敗。
413–請求實體太大。
414-請求URI太長。
415–不支援的媒體類型。
416–所請求的範圍無法滿足。
417–執行失敗。
423–鎖定的誤差。
5xx-伺服器錯誤
伺服器由於遇到錯誤而無法完成該請求。
500-內部伺服器錯誤。
500.12-應用程式正忙於在Web伺服器上重新啟動。
500.13-Web伺服器太忙。
500.15-不允許直接請求Global.asa。
500.16–UNC授權憑證不正確。這個錯誤代碼為IIS6.0所專用。
500.18–URL授權儲存不能開啟。這個錯誤代碼為IIS6.0所專用。
500.100-內部ASP錯誤。
501-頁眉值指定了未實現的配置。
502-Web伺服器用作網關或代理伺服器時收到了無效回應。
502.1-CGI應用程式超時。
502.2-CGI應用程式出錯。 application.
503-服務不可用。這個錯誤代碼為IIS6.0所專用。
504-網關逾時。
505-HTTP版本不受支援。
jQuery.param()
建立一個數組,一個普通的對象,或一個jQuery對象的序列化表現形似,用於URL查詢字串或Ajax請求。
jQuery.param(obj)
obj 一個用來序列化的一個數組,一個普通的對象,或一個jQuery對象。
jQuery.param( obj, traditional )
obj 一個用來序列化的一個數組,一個普通的對象,或一個jQuery對象。
traditional
一個布林值,指示是否執行了傳統的“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"

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板