亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

jQuery學習筆記之Ajax用法實例詳解

2024-09-01 08:33:35
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery學習筆記之Ajax用法,結合實例形式較為詳細的分析總結了jQuery中ajax的相關使用技巧,包括ajax請求、載入、處理、傳遞等,需要的朋友可以參考下
 

本文實例講述了jQuery學習筆記之Ajax用法。分享給大家供大家參考,具體如下:

一、Ajax請求

1、jQuery.ajax(options)

通過 HTTP 請求加載遠程數據。jQuery 底層 AJAX 實現。簡單易用的高層實現見 .get,.post 等。

.ajax()返回其創建的XMLHttpRequest對象。大多數情況下你無需直接操作該對象,但特殊情況下可用于手動終止請求。.ajax() 只有一個參數:參數 key/value 對象,包含各配置及回調函數信息。詳細參數選項見下。

注意: 如果你指定了 dataType 選項,請確保服務器返回正確的 MIME 信息,(如 xml 返回 "text/xml")。錯誤的 MIME 類型可能導致不可預知的錯誤。

注意:如果dataType設置為"script",那么在遠程請求時(不在同一個域下),所有POST請求都將轉為GET請求。(因為將使用DOM的script標簽來加載)

jQuery 1.2 中,您可以跨域加載 JSON 數據,使用時需將數據類型設置為 JSONP。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。數據類型設置為 "jsonp" 時,jQuery 將自動調用回調函數。

返回值 XMLHttpRequest

參數

options (可選) : AJAX 請求設置。所有選項都是可選的。
選項

(1)、async (Boolean) : (默認: true) 
默認設置下,所有請求均為異步請求。如果需要發送同步請求,請將此選項設置為 false。注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行。

(2)beforeSend (Function) : 發送請求前可修改 XMLHttpRequest 對象的函數,如添加自定義 HTTP 頭。
XMLHttpRequest 對象是唯一的參數。這是一個 Ajax 事件。如果返回false可以取消本次ajax請求。

function (XMLHttpRequest) {  this; // 調用本次AJAX請求時傳遞的options參數}

(3)、cache (Boolean) : (默認: true,dataType為script時默認為false) 
jQuery 1.2 新功能,設置為 false 將不會從瀏覽器緩存中加載請求信息。

(4)、complete (Function) : 請求完成后回調函數 (請求成功或失敗時均調用)。
參數: XMLHttpRequest 對象和一個描述成功請求類型的字符串。 這是一個 Ajax 事件

function (XMLHttpRequest, textStatus) {  this; // 調用本次AJAX請求時傳遞的options參數} 

(5)、contentType (String) : (默認: "application/x-www-form-urlencoded") 發送信息至服務器時內容編碼類型。默認值適合大多數應用場合。

(6)、data (Object,String) : 發送到服務器的數據。將自動轉換為請求字符串格式。GET 請求中將附加在URL 后。查看processData選項說明以禁止此自動轉換。
必須為 Key/Value 格式。如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2'。

(7)、dataFilter (Function) :給Ajax返回的原始數據的進行預處理的函數。提供data和type兩個參數:data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數。函數返回的值將由jQuery進一步處理。

function (data, type) {  // 對Ajax返回的原始數據進行預處理  return data // 返回處理后的數據} 

(8)、dataType (String) : (默認值:智能判斷xml或者html)
預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息返回responseXML 或 responseText,并作為回調函數參數傳遞,可用值:

"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含的script標簽會在插入dom時執行。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了"cache"參數。注意:在遠程請求時(不在同一個域下),所有POST請求都將轉為GET請求。(因為將使用DOM的script標簽來加載)
"json": 返回 JSON 數據 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。
"text": 返回純文本字符串

(9)、error (Function) : (默認: 自動判斷 (xml 或 html)) 請求失敗時調用時間。參數有以下三個:XMLHttpRequest 對象、錯誤信息、(可選)捕獲的錯誤對象。如果發生了錯誤,錯誤信息(第二個參數)除了得到null之外,還可能是"timeout", "error", "notmodified" 和 "parsererror"。Ajax 事件。

function (XMLHttpRequest, textStatus, errorThrown) {  // 通常 textStatus 和 errorThrown 之中  // 只有一個會包含信息  this; // 調用本次AJAX請求時傳遞的options參數}

(10)、global (Boolean) : (默認: true) 是否觸發全局 AJAX 事件。設置為 false 將不會觸發全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。

(11)、ifModified (Boolean) : (默認: false) 僅在服務器數據改變時獲取新數據。使用 HTTP 包 Last-Modified 頭信息判斷。

(12)、jsonp (String) : 在一個jsonp請求中重寫回調函數的名字。這個值用來替代在"callback=?"這種GET或POST請求中URL參數里的"callback"部分,比如{jsonp:'onJsonPLoad'}會導致將"onJsonPLoad=?"傳給服務器。

(13)、password (String) : 用于響應HTTP訪問認證請求的密碼

(14)、processData (Boolean) : (默認: true) 默認情況下,發送的數據將被轉換為對象(技術上講并非字符串) 以配合默認內容類型 "application/x-www-form-urlencoded"。如果要發送 DOM 樹信息或其它不希望轉換的信息,請設置為 false。

(15)、scriptCharset (String) : 只有當請求時dataType為"jsonp"或"script",并且type是"GET"才會用于強制修改charset。通常在本地和遠程的內容編碼不同時使用。

(16)、success (Function) : 請求成功后的回調函數。參數:由服務器返回,并根據dataType參數進行處理后的數據;描述狀態的字符串。 Ajax 事件。

function (data, textStatus) {  // data 可能是 xmlDoc, jsonObj, html, text, 等等  this; // 調用本次AJAX請求時傳遞的options參數}

(17)、timeout (Number) : 設置請求超時時間(毫秒)。此設置將覆蓋全局設置。

(18)、type (String) : (默認: "GET") 請求方式 ("POST" 或 "GET"), 默認為 "GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。

(19)、url (String) : (默認: 當前頁地址) 發送請求的地址。

(20)、username (String) : 用于響應HTTP訪問認證請求的用戶名

(21)、xhr (Function) : 需要返回一個XMLHttpRequest 對象。默認在IE下是ActiveXObject 而其他情況下是XMLHttpRequest 。用于重寫或者提供一個增強的XMLHttpRequest 對象。這個參數在jQuery 1.3以前不可用。

ps:上述紅色標出的部分是大多數ajax調用常用的參數設置,利用這幾個參數就可以成功實現ajax調用了.

示例

//jQTest.jsfunction jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";  //1、 加載并執行一個 JS 文件  $.ajax({    type: "GET",    url: "js/jqLoadJs.js",    dataType: "script"  });  //2、裝載一個 HTML 網頁最新版本   $.ajax({    url: "test.htm",    cache: false, //沒有緩存的說    success: function(html) {      //alert(html);      $("#spanGetHtml").css("display", "block");      $("#spanGetHtml").css("color", "red");      $("#spanGetHtml").append(html);    }  });  //3、獲取并解析一個xml文件(從服務端獲取xml)  $.ajax({    type: 'GET',    dataType: 'xml', //這里可以不寫,但千萬別寫text或者html    url: jqRequestUrl + "?action=jquerGetXmlRequest",    success: function(xml) {      //正確解析服務端的xml文件      $(xml).find("profile").each(function(i) {        var name = $(this).children("userName").text(); //取對象文本        var location = $(this).children("location").text();        alert("Xml at SERVER is gotten by CLIENT:" + name + " is living in " + location);      });    },    error: function(xml) {      alert('An error happend while loading XML document ');    }  });  //4、發送 XML 數據至服務器(客戶端發送xml到服務端)  var xmlDocument = "<profile>" +  " <userName>jeff wong</userName>" +  " <location>beijing</location>" +  "</profile>";  $.ajax({    url: jqRequestUrl + "?action=jqueryXmlRequest",    processData: false, //設置 processData 選項為 false,防止自動轉換數據格式。    //type: "xml",    cache: false,    type: "xml",    data: xmlDocument,    success: function(html) {      alert(html); //彈出提示      $("#spanResult").css("display", "block");      $("#spanResult").css("color", "red");      $("#spanResult").html(html); //給當前dom的一個span元素賦值    },    error: function(oXmlHttpReq, textStatus, errorThrown) {      alert("jquery ajax xml request failed");      $("#spanResult").css("display", "block");      $("#spanResult").css("color", "red");      $("#spanResult").html("jquery ajax xml request failed"); //提示出錯    }  });  //5、同步加載數據。發送請求時鎖住瀏覽器。需要鎖定用戶交互操作時使用同步方式。  var html = $.ajax({    //沒有type 默認為GET方式    url: jqRequestUrl + "?action=syncRequest",    async: false  }).responseText;  alert(html);  //6、顯式get測試  $.ajax({    type: "GET",    url: jqRequestUrl + "?action=jquery&userName=" + $("#txtUserName").val(),    cache: false,    success: function(html) {      // alert(html); //彈出提示      $("#spanResult").css("display", "block");      $("#spanResult").css("color", "red");      $("#spanResult").html(html); //給當前dom的一個span元素賦值    },    error: function(oXmlHttpReq, textStatus, errorThrown) {      alert("jquery ajax request failed");      $("#spanResult").css("display", "block");      $("#spanResult").css("color", "red");      $("#spanResult").html("jquery ajax request failed"); //提示出錯    }  });  //7、顯式POST測試   $.ajax({    type: "POST",    url: jqRequestUrl,    data: "action=jquerySaveData&userName=jeffwong&location=beijing",    success: function(html) {      alert(html);    }  });}

幾個相關文件:

a、處理ajax請求的服務端文件:AjaxHandler.ashx,對應的cs文件:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.Xml;namespace MyJqTest{  public class AjaxHandler : IHttpHandler, IRequiresSessionState  {    /// <summary>    /// 可復用    /// </summary>    public bool IsReusable    {      get      {        return true;      }    }    public void ProcessRequest(HttpContext context)    {      AjaxOperations(context);    }    private void AjaxOperations(HttpContext context)    {      string action = context.Request["action"];      if (!string.IsNullOrEmpty(action))      {        switch (action)        {          default:            break;          case "jquery":            ProcessJQueryRequest(context);            break;          case "jquerySaveData":            ProcessJQuerySaveData(context);            break;          case "syncRequest":            ProcessJQuerySyncRequest(context);            break;          case "jqueryXmlRequest":            ProcessJQueryXMLRequest(context);            break;          case "jquerGetXmlRequest":            ProcessJQueryGetXMLRequest(context);            break;        }      }    }    private void ProcessJQueryRequest(HttpContext context)    {      context.Response.ClearContent();      context.Response.ContentType = "text/plain"; //設置輸出流類型      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存      string result = context.Request["userName"].Trim();      context.Response.Write("You have entered a name:" + result);    }    private void ProcessJQuerySaveData(HttpContext context)    {      context.Response.ClearContent();      context.Response.ContentType = "text/plain"; //設置輸出流類型      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存      string name = context.Request["userName"].Trim();      string location = context.Request["location"].Trim();      context.Response.Write("Your data have been saved:your name is " + name + ",living in " + location);    }    private void ProcessJQuerySyncRequest(HttpContext context)    {      context.Response.ClearContent();      context.Response.ContentType = "text/plain"; //設置輸出流類型      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存      context.Response.Write("Your sync ajax request has been processed.");    }    /// <summary>    /// 簡單的xml請求處理(服務端從客戶端獲取xml)    /// </summary>    /// <param name="context"></param>    private void ProcessJQueryXMLRequest(HttpContext context)    {      context.Response.ClearContent();      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存      XmlDocument doc = new XmlDocument();      try      {        doc.Load(context.Request.InputStream); //獲取xml (這里需要注意接受xml數據的方法)        context.Response.ContentType = "text/plain"; //設置輸出流類型        string name = doc.SelectSingleNode("profile/userName").InnerText;        string location = doc.SelectSingleNode("profile/location").InnerText;        context.Response.Write("Your XML data have received,and your name is " + name + ",living in " + location);      }      catch (Exception ex)      {        context.Response.Write("Get xml data failed.");        throw ex;      }    }    /// <summary>    /// 返回簡單的xml(服務端返回客戶端xml)    /// </summary>    /// <param name="context"></param>    private void ProcessJQueryGetXMLRequest(HttpContext context)    {      context.Response.ClearContent();      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存      XmlDocument doc = new XmlDocument();      try      {        doc.Load(context.Server.MapPath("/jeffWong.xml"));        context.Response.ContentType = "text/xml;charset=UTF-8"; //設置輸出流類型        context.Response.Write(doc.OuterXml);      }      catch (Exception ex)      {        context.Response.Write("Load xml data failed.");        throw ex;      }    }  }}

b、aspx,html和xml文件(直接放在根目錄下)

aspx文件是ajax請求頁面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JQuery.aspx.cs" Inherits="MyJqTest.JQuery" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <title></title>  <script src="js/jquery-1.3.1.js" type="text/javascript"></script></head><body>  <form id="form1" runat="server">  <div>      <span style="display: none" id="spanGetHtml"></span>    <br />    Please input a name:<input id="txtUserName" type="text" /><input id="btnJQAjax" type="button"      value="jQuery ajax 請求" onclick="jqAjaxTest()" />      <span style="display: none" id="spanResult"></span>  </div>  <script src="js/jQTest.js" type="text/javascript"></script>  </form></body></html>

html很簡單:

test.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>  <title></title></head><body><div>it is a simple ajax test</div></body></html>

 

xml文件:

jeffWong.xml:

<?xml version="1.0" encoding="utf-8" ?><profile> <userName>jeff wong</userName> <location>beijing</location></profile>

c、js文件(放在根目錄js文件夾下)

jqLoadJs.js  測試ajax加載js文件用

復制代碼代碼如下:
alert("this is a ajax request script test");

 

2、load(url,[data],[callback])

載入遠程 HTML 文件代碼并插入至 DOM 中。

默認使用 GET 方式 - 傳遞附加參數時自動轉換為 POST 方式。jQuery 1.2 中,可以指定選擇符,來篩選載入的 HTML 文檔,DOM 中將僅插入篩選出的 HTML 代碼。語法形如 "url #some > selector"。請查看示例。

返回值 jQuery

參數

url (String) : 待裝入 HTML 網頁網址。
data (Map,String) : (可選) 發送至服務器的 key/value 數據。在jQuery 1.3中也可以接受一個字符串了。
callback (Callback) : (可選) 載入成功時回調函數。

示例:

function jqAjaxTest() {  $("#spanResult").load("test.htm");  $("#spanResult").css("display", "block");  $("#spanResult").css("color", "red");}

3、jQuery.get(url,[data],[callback],[type])

通過遠程 HTTP GET 請求載入信息。

這是一個簡單的 GET 請求功能以取代復雜 .ajax。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用.ajax。

返回值  XMLHttpRequest

參數

url (String) : 待載入頁面的URL地址
data (Map) : (可選) 待發送 Key/value 參數。
callback (Function) : (可選) 載入成功時回調函數。
type (String) : (可選) 返回內容格式,xml, html, script, json, text, _default。

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";  $.get(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqGetNormalCallBack, 'text'); //返回數據類型}function jqGetNormalCallBack(oData) {  $("#spanResult").html(oData);//這里直接json數據綁定了,下一個jquery方法會有處理  $("#spanResult").css("display", "block");  $("#spanResult").css("color", "red");}

AjaxHandler.ashx代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.Xml;namespace MyJQTest{  public class AjaxHandler : IHttpHandler, IRequiresSessionState  {    /// <summary>    /// 可復用    /// </summary>    public bool IsReusable    {      get      {        return true;      }    }    public void ProcessRequest(HttpContext context)    {      AjaxOperations(context);    }    private void AjaxOperations(HttpContext context)    {      string action = context.Request["action"];      if (!string.IsNullOrEmpty(action))      {        switch (action)        {          default:            break;          case "jquery":            ProcessJQueryRequest(context);            break;        }      }    }    private void ProcessJQueryRequest(HttpContext context)    {      context.Response.ClearContent();      context.Response.ContentType = "text/plain"; //設置輸出流類型       context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //沒有緩存       string userName = context.Request["userName"].Trim();      string location = context.Request["location"].Trim();      string jsonObject = "{/"userName/":/"" + userName + "/",/"location/":/"" + location + "/"}";      context.Response.Write(jsonObject);    }  }}

ps:本例中,我們返回的是一段json類型的數據,在客戶端沒有對json類型數據進行處理,在下一個方法(jQuery.getJSON)中會改進處理的。

4、jQuery.getJSON(url,[data],[callback])

通過 HTTP GET 請求載入 JSON 數據。

在 jQuery 1.2 中,您可以通過使用JSONP 形式的回調函數來加載其他網域的JSON數據,如 "myurl?callback=?"。jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。 
注意:此行以后的代碼將在這個回調函數執行前執行。

返回值  XMLHttpRequest

參數

url (String) : 發送請求地址。
data (Map) : (可選) 待發送 Key/value 參數。
callback (Function) : (可選) 載入成功時回調函數。

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";  //getJSON方法調用  $.getJSON(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqGetJsonCallBack); //返回json數據類型}//對json數據進行處理 (oData是json類型的數據)function jqGetJsonCallBack(oData) {  var oJsonStr = "";  //取json中的數據,并呈現  oJsonStr += "userName:" + oData.userName + "  location:" + oData.location + "<br/>";  //在div中顯示所有數據  $("#divResult").html(oJsonStr);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

5、jQuery.getScript(url,[callback])

通過 HTTP GET 請求載入并執行一個 JavaScript 文件。

jQuery 1.2 版本之前,getScript 只能調用同域 JS 文件。 1.2中,您可以跨域調用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步執行腳本。如果通過 getScript 加入腳本,請加入延時函數。

返回值  XMLHttpRequest

參數

url (String) : 待載入 JS 文件地址。
callback (Function) : (可選) 成功載入后回調函數。

示例

function jqAjaxTest() {  var jsUrl = "js/jqLoadJs.js";  //getScript方法調用  $.getScript(jsUrl, jqGetJsCallBack);}//oData返回的是整個js路徑下js文件內容function jqGetJsCallBack(oData) {  alert(oData);}

6、jQuery.post(url,[data],[callback],[type])

通過遠程 HTTP POST 請求載入信息。

這是一個簡單的 POST 請求功能以取代復雜 .ajax。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用.ajax。

返回值  XMLHttpRequest

參數

url (String) : 發送請求地址。
data (Map) : (可選) 待發送 Key/value 參數。
callback (Function) : (可選) 發送成功時回調函數。
type (String) : (可選) 返回內容格式,xml, html, script, json, text, _default。

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";  $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text"); //返回text數據類型}function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").html(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

二、Ajax事件

1、ajaxComplete(callback)

AJAX 請求完成時執行函數。Ajax 事件。

XMLHttpRequest 對象和設置作為參數傳遞給回調函數。

返回值  jQuery

參數

callback (Function) : 待執行函數

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";  $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text"); //返回text數據類型  //AJAX 請求完成時執行函數  $("#divResult").ajaxComplete(function(event, request, settings) {    $(this).append("<br/>請求完成.");  });}function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").html(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

2、ajaxError(callback)

AJAX 請求發生錯誤時執行函數。Ajax 事件。

XMLHttpRequest 對象和設置作為參數傳遞給回調函數。捕捉到的錯誤可作為最后一個參數傳遞。

返回值  jQuery

參數

callback (Function) : 待執行函數

function (event, XMLHttpRequest, ajaxOptions, thrownError) {   // thrownError 只有當異常發生時才會被傳遞   this; // 監聽的 dom 元素}

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandlers.ashx"; //正確的文件名 AjaxHandler.ashx 這里故意寫錯 引發ajaxError事件  $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");}//AJAX 請求發生錯誤時執行函數 (這一段放在jqAjaxTest函數內也可以)$("#divResult").ajaxError(function(event, request, settings) {  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");  $(this).append("<br/>出錯頁面:" + settings.url);});function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").html(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

3、ajaxSend(callback)

AJAX 請求發送前執行函數。Ajax 事件。

XMLHttpRequest 對象和設置作為參數傳遞給回調函數。

返回值  jQuery

參數

callback (Function) : 待執行函數

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";   $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");}//AJAX 請求發送前執行函數$("#divResult").ajaxSend(function(evt, request, settings) {  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");  $(this).append("<br/>開始請求: " + settings.url + "<br/>");});function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").append(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

4、ajaxStart(callback)

AJAX 請求開始時執行函數。Ajax 事件。

返回值  jQuery

參數

callback (Function) : 待執行函數

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";   $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");}//AJAX 請求開始時執行函數$("#divResult").ajaxStart(function() {  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");  $(this).append("<br/>請求開始了<br/>");});function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").append(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

5、ajaxStop(callback)

AJAX 請求結束時執行函數。Ajax 事件。

返回值  jQuery

參數

callback (Function) : 待執行函數

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";   $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");}//AJAX 請求開始時執行函數$("#divResult").ajaxStop(function() {  $(this).append("<br/>請求已經結束了<br/>");});function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").append(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

6、ajaxSuccess(callback)

AJAX 請求成功時執行函數。Ajax 事件。

XMLHttpRequest 對象和設置作為參數傳遞給回調函數。

返回值  jQuery

參數

callback (Function) : 待執行函數

示例

function jqAjaxTest() {  var jqRequestUrl = "AjaxHandler.ashx";   $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");}//AJAX 請求成功時執行函數$("#divResult").ajaxSuccess(function(evt, request, settings) {  $(this).append("<br/>請求成功<br/>");  $(this).append(settings.url);});function jqPostCallBack(oData) {  //在div中顯示所有數據  $("#divResult").append(oData);  $("#divResult").css("display", "block");  $("#divResult").css("color", "red");}

三、其他

1、jQuery.ajaxSetup(options)

設置全局 AJAX 默認選項。

參數見 '$.ajax' 說明。

返回值  jQuery

參數

options (可選) : 選項設置。所有設置項均為可選設置。

示例

//設置 AJAX 請求默認地址為 "AjaxHandler.ashx",禁止觸發全局 AJAX 事件,用 POST 代替默認 GET 方法。其后的 AJAX 請求不再設置任何選項參數。 $.ajaxSetup({  url: "AjaxHandler.ashx",  global: false,  type: "POST"});

2、serialize()

序列化表單內容為字符串。

返回值  jQuery

參數

序列化表單內容為字符串,用于 Ajax 請求。

示例

$(document).ready(function() {  var oSerializedStr = $("form").serialize(); //序列化表單內容為字符串  $("#results").append("<tt>" + oSerializedStr + "</tt>");});

文檔片段:

<body>  <p id="results">    <b>Results: </b>  </p>  <form>  <select name="single">    <option>Single</option>    <option>Single2</option>  </select>  <select name="multiple" multiple="multiple">    <option selected="selected">Multiple</option>    <option>Multiple2</option>    <option selected="selected">Multiple3</option>  </select><br />  <input type="checkbox" name="check" value="check1" />  check1  <input type="checkbox" name="check" value="check2" checked="checked" />  check2  <input type="radio" name="radio" value="radio1" checked="checked" />  radio1  <input type="radio" name="radio" value="radio2" />  radio2  </form>  <script src="js/jQTest.js" type="text/javascript"></script></body>

3、serializeArray()

序列化表單內容,返回 JSON 數據結構數據。

返回值  jQuery

參數

序列化表單內容為JSON ,用于 Ajax 請求。

示例

$(document).ready(function() {  var fields = $("select, :radio").serializeArray(); //序列化表單select和raido為json  jQuery.each(fields, function(i, field) {    $("#results").append(field.value + " ");  }); });

好了,關于jQuery的ajax就介紹到這里,筆者的每個示例都測試通過了。jQuery封裝好的ajax函數用起來確實方便,有了這樣的“神兵利器”,以后寫ajax的應用程序肯定會更加得心應手。

希望本文所述對大家jQuery程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
青青青国产精品一区二区| 精品国产精品自拍| 日本不卡视频在线播放| 成人国产精品色哟哟| 亚洲自拍另类欧美丝袜| 91探花福利精品国产自产在线| 日韩精品免费看| 亚洲毛片在线观看.| 久久亚洲影音av资源网| 久久久久国色av免费观看性色| 亚洲精品视频在线播放| 成人欧美在线观看| 亚洲裸体xxxx| 欧美日韩国产精品一区二区三区四区| 国产在线观看精品一区二区三区| 欧美日韩国产一区中文午夜| 亚洲影视九九影院在线观看| 欧美大成色www永久网站婷| 亚洲一区国产精品| 日韩欧美第一页| 久久综合国产精品台湾中文娱乐网| 亚洲精品视频在线观看视频| 狠狠躁夜夜躁人人躁婷婷91| 亚洲欧洲一区二区三区久久| 91chinesevideo永久地址| 91精品国产成人www| 亚洲夜晚福利在线观看| 欧美丝袜美女中出在线| 欧美亚洲国产成人精品| 国产成人综合一区二区三区| 日韩av在线导航| 国产精品久久久久久久久久久久久| 日韩av在线播放资源| 精品亚洲国产视频| 在线观看日韩欧美| 亚洲欧美日韩一区二区三区在线| 色婷婷**av毛片一区| 欧美精品第一页在线播放| 日韩精品高清视频| 国产精品视频不卡| 91国产美女在线观看| 成人精品视频在线| 91精品久久久久久久久久另类| 中文在线不卡视频| 国产免费一区视频观看免费| 国产成人精品免高潮在线观看| 亚洲国产日韩一区| 亚洲福利小视频| 亚洲国产成人精品久久久国产成人一区| 人九九综合九九宗合| 国产精品一区二区三区毛片淫片| 成人免费黄色网| 欧美激情第三页| 精品美女久久久久久免费| 国产91精品久久久| 精品亚洲一区二区三区在线播放| 久久久久久免费精品| 亚洲成人精品久久久| 日韩电影第一页| 国产精品精品视频一区二区三区| 色综合久久精品亚洲国产| 日韩欧美在线视频日韩欧美在线视频| 久久久国产成人精品| 国产精品69精品一区二区三区| 亚洲欧美综合另类中字| 91精品国产99| 亚洲 日韩 国产第一| 欧美性感美女h网站在线观看免费| 亚洲mm色国产网站| 亚洲一区二区三区香蕉| 日韩欧美在线国产| 日韩欧美在线中文字幕| 欧美日韩免费看| 国产a级全部精品| 欧美日韩免费观看中文| 久久99亚洲热视| 欧美性猛交xxxx黑人| 亚洲欧美日韩区| 欧美成人一二三| 亚洲视频欧洲视频| 国产高清在线不卡| 色综合五月天导航| 国产69久久精品成人看| 亚洲成年人影院在线| 亚洲女在线观看| 久久久久久久香蕉网| 国产69精品久久久久9999| 亚洲最大福利视频网| 亚洲美女精品久久| 亚洲人在线视频| 成人伊人精品色xxxx视频| 亚洲最新av在线| 成人福利网站在线观看| 欧美激情videoshd| 自拍视频国产精品| 91精品在线播放| 欧美日韩一区二区免费在线观看| 日日狠狠久久偷偷四色综合免费| 最新国产精品拍自在线播放| 欧美黑人xxxx| 成人黄色午夜影院| 欧美劲爆第一页| 成人免费福利在线| 国产精品久久久久久一区二区| 亚洲www永久成人夜色| 成人国产精品久久久久久亚洲| 欧美猛交ⅹxxx乱大交视频| 国产精品福利在线| 亚洲欧美在线免费| 欧美性受xxx| 视频在线观看一区二区| 亚洲精品v欧美精品v日韩精品| 国产福利视频一区| 中文字幕亚洲一区二区三区五十路| 亚洲美女福利视频网站| 91久久国产精品91久久性色| 久久久成人精品视频| 欧美精品第一页在线播放| 97精品免费视频| 性欧美办公室18xxxxhd| 亚洲美女动态图120秒| 成人精品久久一区二区三区| 久久久影视精品| 成人免费高清完整版在线观看| 国产91在线播放| 国产精品老女人精品视频| 成人欧美一区二区三区黑人| xvideos成人免费中文版| 影音先锋欧美精品| 亚洲第一视频在线观看| 亚洲女人天堂成人av在线| 亚洲美女激情视频| 亚洲色图第三页| 91色中文字幕| 国产一区二区三区精品久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产成人在线一区二区| 午夜精品久久久久久久久久久久久| 欧美中文字幕视频| 亚洲国产一区二区三区四区| 国产mv免费观看入口亚洲| 浅井舞香一区二区| 7m精品福利视频导航| 亚洲人永久免费| 在线成人激情黄色| 欧美精品一区三区| 亚洲a级在线观看| 亚洲国产天堂网精品网站| 亚洲欧美精品一区二区| 亚洲人成电影在线观看天堂色| 狠狠躁夜夜躁人人爽超碰91| 日韩精品高清视频| 国产suv精品一区二区三区88区| 国内成人精品一区| 91久久久久久久久| 日韩精品视频免费| 中文字幕在线看视频国产欧美在线看完整| 91热精品视频| 91精品免费久久久久久久久| 亚洲国产精品成人精品| 国产成人午夜视频网址| 高清欧美一区二区三区| 国产精品第一区| 亚洲第一偷拍网|