使用jQuery的load方法可以簡單快捷的發起AJAX請求。使用load方法可以把已完成相應的文本插入到包裝集所包含的任何元素中。
load方法語法
load(url,parameters,callback) |
|
參數 |
|
url |
(字符串)服務器端資源地址。 |
parameter |
(對象)需要傳遞到服務器端的參數。如果指定,就用POST方法請求;如果省略,就用GET方法請求。 |
callback |
(函數)在響應數據加載到包裝集后調用。該函數參數依次為文本、狀態碼和XHR實例。 |
返回值 |
包裝集 |
看個簡單的例子
客戶端代碼:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $().ready(function () { $('#selectNum').change(function () { var idValue = $(this).val(); //采用POST方式調用服務 $('#show').load('Server.aspx', { id: idValue }); //采用GET方式調用服務 //var url = 'Server.aspx?id=' + idValue; //$('#show').load(url,null , function (text,status,xhr) { alert(text) }); }) }) </script> </head> <body> <select id="selectNum"> <option value="0">--Select--</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <div id="show"> </div> </body> </html>
服務端主要代碼:
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Request["id"] != null && !string.IsNullOrEmpty(Request["id"].ToString())) { Response.Write( GetData(Request["id"].ToString())); } } } protected string GetData(string id) { string str = string.Empty; switch (id) { case "1": str += "This is Number 1"; break; case "2": str += "This is Number 2"; break; case "3": str += "This is Number 3"; break; default: str += "Warning Other Number!"; break; } return str; }
運行程序,結果如圖:
我們也可以注銷POST方式代碼,來看GET方式的代碼,也會得到相同的結果。
用httpwatcher攔截請求信息,當下拉框中選擇數字時,可以截取到如下請求信息。
使用GET方法時的截圖:
使用POST方法時的截圖:
從兩幅圖中我們可以看到,當指定load方法中的第二個參數時使用的是POST請求,當不指定第二個參數時則是GET請求。
如果服務器端返回了很多標簽,我們還可以對這些標簽進行進一步篩選,如:$(‘#show’).load(‘url p’),這樣,就把返回內容中的p標簽選擇了出來