4.1、定義和用法
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式
網頁應用的網頁開發技術。
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; }); });