使用jQuery的$.post方法可以以POST形式向服务器发起Ajax请求。$.post方法是jQuery的实用工具方法。
$.post方法语法
$.post(url,parameters,callback) | |
参数 | |
url | (字符串)服务器端资源地址。 |
parameter | (对象)需要传递到服务器端的参数。 参数形式为“键/值”。 |
callback | (函数)在请求完成时被调用。该函数参数依次为响应体和状态。 |
返回值 | XHR实例 |
看个简单的例子
客户端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | < head > < title ></ title > $().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 > |
服务端主要代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | { 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请求。
新闻热点
疑难解答