Ajax最詳細的參數解析和場景應用


4.1、定義和用法
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式 網頁應用的網頁開發技術。
AJAX = 異步  JavaScriptXML標准通用標記語言的子集)。
AJAX 是一種用於創建快速動態網頁的技術。
通過在后台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。
 ajax請求的常用的5個步驟如下:1.創建 XMLHTTPRequest對象;2.注冊回調函數;3.設置和服務器端的連接信息;4.發送數據;5.接受響應數據
4.2、寫法示例
該參數規定 AJAX 請求的一個或多個名稱/值對。
$.ajax({})的第一種寫法,success(),error()
$.ajax({
    type: "post", 【以POST或GET的方式請求。默認GET。PUT和DELETE也可以用,有的瀏覽器不支持】
    url: url,   【請求的目的地址,須是一個字符串。】
    contentType: "application/json",       【以哪種數據類型發送請求】
    data: data,    【請求的數據】
    dataType: "json",  【想從服務器得到的數據類型。html,json,jsonp,text】
    async:false,【默認為true異步請求,設置為false時為同步請求】
    beforeSend:function(){......},  【傳遞異步請求之前的事件】
    success:function(){......},  【請求成功之后的回調】
    error:function(){......},    【請求失敗之后的回調】
    complete(function(){......},  【不管請求成功還是錯誤,只要請求完成,可以執行的事件。】 
});

 $.ajax({})的第二種寫法,總結為回調寫法.done(),.fail()

 $.ajax({
      type: "post",
      url: url,
      contentType: "application/json",
      data: '{ "requestData": { "SysId": 1, "SysType": "rzrq"}}',
      dataType: "json",
}).done(function (data) {
      console.log(JSON.parse(data));
      eventManger.trigger("showMergeLiCategorySuccess", data);
}).fail(function (msg) {
      console.log(JSON.parse(msg));
      eventManger.trigger("requestFailure", msg);
});

4.3、其他參數如下:

dataType,類型:String
預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如 XML MIME 類型就被識別為 XML。在 1.4 中,JSON 就會生成一個 JavaScript 對象,而 script 則會執行這個腳本。隨后 服務器端返回的數據會根據這個值解析后,傳遞給 回調函數。可用值:
 contentType,發送請求數據類型
 
4.4、用ajax實現表單提交

<form id="formTest">
   <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>
  <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>

那么用jQuery來做Ajax提交就這樣
$(function() {
    $('#submit').click(function() {
        $.ajax({
            url: '你的提交url地址',
            type: 'post',
            dataType:'json'
            data: $("#formTest").serializeArray(),//serializeArray方法會自動將表單轉換為json對象
            success: function(msg) {
            }
        });
    });
}); 
// 比如你有如下的html結構
<form>
    ...
    <input type="submit" id="submit" value="提交">
</form>
// jquery代碼
$(function () {
    $('#submit').click(function () {
        $.ajax({
            url: '',
            method: 'post',
            data: {},
            success: function (msg) {
            }
        });
        // 別忘記了這句
        return false;
    });
});
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM