使用jQuery的$.post方法可以以POST形式向伺服器發起AJAX請求。$.post方法是jQuery的工具 + 生產力方法。
$.post方法文法
$.post(url,parameters,callback) |
參數 |
|
url |
(字串)伺服器端資源地址。 |
parameter |
(對象)需要傳遞到伺服器端的參數。 參數形式為“鍵/值”。 |
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方式調用服務 $.post('Server.aspx', { id: idValue }, function (text, status) { 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></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;}
運行程式,結果
用httpwatcher攔截請求資訊,當下拉框中選擇數字時,可以截取到如下請求資訊。
使用$.post方法時的:
通過我們可以看到在POST Data裡面有參數,說明這是一次POST請求。
在伺服器端狀態有改變,或者是修改更新某些資料時多用POST請求。
Demo下載