jQuery學習筆記之Ajax用法詳解

来源:http://www.cnblogs.com/zuoyifeng/archive/2017/11/16/7844211.html
-Advertisement-
Play Games

這篇文章主要介紹了jQuery學習筆記之Ajax用法,結合實例形式較為詳細的分析總結了jQuery中ajax的相關使用技巧,包括ajax請求、載入、處理、傳遞等,需要的朋友可以參考下 本文實例講述了jQuery學習筆記之Ajax用法。分享給大家供大家參考,具體如下: 原文鏈接:https://yq. ...


這篇文章主要介紹了jQuery學習筆記之Ajax用法,結合實例形式較為詳細的分析總結了jQuery中ajax的相關使用技巧,包括ajax請求、載入、處理、傳遞等,需要的朋友可以參考下

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

原文鏈接:https://yq.aliyun.com/ziliao/153370

一、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:上述的部分是 url  type  dataType  data  success 調用常用的參數設置,利用這幾個參數就可以成功實現ajax調用了.

    示例

 1 //jQTest.js
 2 function jqAjaxTest() {
 3   var jqRequestUrl = "AjaxHandler.ashx";
 4   //1、 載入並執行一個 JS 文件
 5   $.ajax({
 6     type: "GET",
 7     url: "js/jqLoadJs.js",
 8     dataType: "script"
 9   });
10   //2、裝載一個 HTML 網頁最新版本 
11   $.ajax({
12     url: "test.htm",
13     cache: false, //沒有緩存的說
14     success: function(html) {
15       //alert(html);
16       $("#spanGetHtml").css("display", "block");
17       $("#spanGetHtml").css("color", "red");
18       $("#spanGetHtml").append(html);
19     }
20   });
21   //3、獲取並解析一個xml文件(從服務端獲取xml)
22   $.ajax({
23     type: 'GET',
24     dataType: 'xml', //這裡可以不寫,但千萬別寫text或者html
25     url: jqRequestUrl + "?action=jquerGetXmlRequest",
26     success: function(xml) {
27       //正確解析服務端的xml文件
28       $(xml).find("profile").each(function(i) {
29         var name = $(this).children("userName").text(); //取對象文本
30         var location = $(this).children("location").text();
31         alert("Xml at SERVER is gotten by CLIENT:" + name + " is living in " + location);
32       });
33     },
34     error: function(xml) {
35       alert('An error happend while loading XML document ');
36     }
37   });
38   //4、發送 XML 數據至伺服器(客戶端發送xml到服務端)
39   var xmlDocument = "<profile>" +
40   " <userName>jeff wong</userName>" +
41   " <location>beijing</location>" +
42   "</profile>";
43   $.ajax({
44     url: jqRequestUrl + "?action=jqueryXmlRequest",
45     processData: false, //設置 processData 選項為 false,防止自動轉換數據格式。
46     //type: "xml",
47     cache: false,
48     type: "xml",
49     data: xmlDocument,
50     success: function(html) {
51       alert(html); //彈出提示
52       $("#spanResult").css("display", "block");
53       $("#spanResult").css("color", "red");
54       $("#spanResult").html(html); //給當前dom的一個span元素賦值
55     },
56     error: function(oXmlHttpReq, textStatus, errorThrown) {
57       alert("jquery ajax xml request failed");
58       $("#spanResult").css("display", "block");
59       $("#spanResult").css("color", "red");
60       $("#spanResult").html("jquery ajax xml request failed"); //提示出錯
61     }
62   });
63   //5、同步載入數據。發送請求時鎖住瀏覽器。需要鎖定用戶交互操作時使用同步方式。
64   var html = $.ajax({
65     //沒有type 預設為GET方式
66     url: jqRequestUrl + "?action=syncRequest",
67     async: false
68   }).responseText;
69   alert(html);
70   //6、顯式get測試
71   $.ajax({
72     type: "GET",
73     url: jqRequestUrl + "?action=jquery&userName=" + $("#txtUserName").val(),
74     cache: false,
75     success: function(html) {
76       // alert(html); //彈出提示
77       $("#spanResult").css("display", "block");
78       $("#spanResult").css("color", "red");
79       $("#spanResult").html(html); //給當前dom的一個span元素賦值
80     },
81     error: function(oXmlHttpReq, textStatus, errorThrown) {
82       alert("jquery ajax request failed");
83       $("#spanResult").css("display", "block");
84       $("#spanResult").css("color", "red");
85       $("#spanResult").html("jquery ajax request failed"); //提示出錯
86     }
87   });
88   //7、顯式POST測試 
89   $.ajax({
90     type: "POST",
91     url: jqRequestUrl,
92     data: "action=jquerySaveData&userName=jeffwong&location=beijing",
93     success: function(html) {
94       alert(html);
95     }
96   });
97 }

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)  : (可選) 載入成功時回調函數。

  示例

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

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。

  示例

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

  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)  : (可選) 載入成功時回調函數。

  示例

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

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)  : (可選) 成功載入後回調函數。

  示例

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

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。

  示例

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

 

二、Ajax事件

  1、ajaxComplete(callback)

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

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

    返回值  jQuery

    參數

     callback (Function)  : 待執行函數

    示例

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

  2、ajaxError(callback)

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

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

    返回值  jQuery

    參數

     callback (Function)  : 待執行函數

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

  示例

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

  3、ajaxSend(callback)

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

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

  返回值  jQuery

  參數

  callback (Function) : 待執行函數

  示例

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

  4、ajaxStart(callback)

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

  返回值  jQuery

  參數

  callback (Function) : 待執行函數

  示例

 1 function jqAjaxTest() {
 2   var jqRequestUrl = "AjaxHandler.ashx"; 
 3   $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text");
 4 }
 5 //AJAX 請求開始時執行函數
 6 $("#divResult").ajaxStart(function() {
 7   $("#divResult").css("display", "block");
 8   $("#divResult").css("color", "red");
 9   $(this).append("<br/>請求開始了<br/>");
10 });
11 function jqPostCallBack(oData) {
12   //在div中顯示所有數據
13   $("#divResult").append(oData);
14   $("#divResult").css("display", "block");
15   $("#divResult").css("color", "red");
16 }

  5、ajaxStop(callback)

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

  返回值  jQuery

  參數

  callback (Function) : 待執行函數

  示例

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

  6、ajaxSuccess(callback)

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

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

  返回值  jQuery

  參數

  callback (Function) : 待執行函數

  示例

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

三、其他

  1、jQuery.ajaxSetup(options)

  設置全局 AJAX 預設選項。

  參數見 '$.ajax' 說明。

  返回值  jQuery

  參數

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

  示例

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

  2、serialize()

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

  返回值  jQuery

  參數

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

  示例

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

  文檔片段

 1 <body>
 2   <p id="results">
 3     <b>Results: </b>
 4   </p>
 5   <form>
 6   <select name="single">
 7     <option>Single</option>
 8     <option>Single2</option>
 9   </select>
10   <select name="multiple" multiple="multiple">
11     <option selected="selected">Multiple</option>
12     <option>Multiple2</option>
13     <option selected="selected">Multiple3</option>
14   </select><br />
15   <input type="checkbox" name="check" value="check1" />
16   check1
17   <input type="checkbox" name="check" value="check2" checked="checked" />
18   check2
19   <input type="radio" name="radio" value="radio1" checked="checked" />
20   radio1
21   <input type="radio" name="radio" value="radio2" />
22   radio2
23   </form>
24   <script src="js/jQTest.js" type="text/javascript"></script>
25 </body>

  3、serializeArray()

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

  返回值  jQuery

  參數

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

  示例

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

jQuery封裝好的ajax函數用起來確實方便,有了這樣的“神兵利器”,以後寫ajax的應用程式肯定會更加得心應手。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #node.js:概念介紹及安裝 # python伺服器、php ->aphche、java ->tomcat、 iis # 它是一個可以運行JAVASCRIPTR 的運行環境 # 它可以作為後端語言(websocket \ ) # 強大的包管理工具npm,可以使用它安裝插件 # VUE框架是基於n... ...
  • formatDuring: function(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))... ...
  • <!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml"><meta charset="UTF-8"><head><title>SuperMap iClient JavaScript:TiledDynamicRESTLayer</title> ...
  • 使用VS2017開發VUE的APP應用遇到的問題集合 1, 打包出來的apk文件在Android 6.0版本以上手機可以正常打開,在Android 4.3版本手機上無法打開 原因:一開始猜測是不是VS中安卓設置不正確,最後確定的問題是,低版本內置的瀏覽器(webview)版本太低,無法解析 ES20 ...
  • 說明:encodeURIComponent() 函數可把字元串作為 URI 組件進行編碼。 維護項目中,遇到一個登錄的問題:(用戶的loginName為33195221,密碼為147258369+),在密碼正確的情況下登錄,顯示密碼錯誤。 於是翻看了代碼,看到了登錄請求的代碼為這樣的: 訪問的url ...
  • 綁定事件的處理方法任何元素都有事件屬性,而綁定事件就是將這個事件與一個函數相連接。 ①句柄事件dom.onXXX = function () {代碼塊} 以on開頭的事件屬於句柄事件相容性非常好,但是一個事件只能綁定一個處理函數。當綁定多個時後面的會覆蓋前面的。這種方法相當於在HTML的行間添加事件 ...
  • 下麵總結一下js中時間戳與日期格式的相互轉換: 1. 將時間戳轉換成日期格式: 註意:如果是Unix時間戳記得乘以1000。比如:PHP函數time()獲得的時間戳就要乘以1000。 2. 將日期格式轉換成時間戳: 以上三種獲取方式的區別: 第一、第二種:會精確到毫秒 第三種:只能精確到秒,毫秒用0 ...
  • 1、二級制操作優於Math 如: 2、慎用|| 大量運用if(x null){ x={} } 優於x=x||{} 3、switch 性能優於if...else if... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...