摘要:JQery ajax機制--"$.post"
昨天發表 .Net AJAX機制---"CallBack"一文後,裡面有提到ajax的技術尚還有jquery ...等,
,今天會發表這篇是因為有位同事問我一個問題,他提供一個網址問我為何裡面的資料
會每隔一段時間就更新某些區塊,於是乎我檢視原始碼看到那個div區塊其實是空的,但是
有給個id,在上方又載入個jquery.js,於是就猜出是用JQ的ajax技術,在用JS設定多久呼叫
那個執行ajax的funtion,結果被我猜中了,這是題外話,不囉嗦,還是說正題,
就本人而言還是比較偏好JQ的ajax技術,因為上手真的比較簡單(效能還沒去比較過)
,趁著工作空檔,順便寫了一個JQery的ajax機制post的用法,為了讓讀者能夠盡速上手
,我就不用前篇文章貼圖片的方式貼上,直接貼上code方便大家複製修改。
首先我們還是來看看官方文件介紹post這個方法 http://api.jquery.com/jQuery.post/ ,一開始官方就說了,
post方法有四個參數,除第一個一定要帶值外,其他三個可帶可不帶,如下
jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
參數代表甚麼意思,提供的網址也寫得很清楚了,就不多墜述。
由於這次的範例,本人是要把client的side參數傳到server side,再由service side判斷後傳出,因此我用了官網的這個範例
EXAMPLE
$.post("test.php", { name: "John", time: "2pm" },
function(data) {
alert("Data Loaded: " + data);
});
在client我post給server side一個參數名稱為name,值為"久里"的data
Client Side:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>馬久里的JQuery測試</title>
//載入jquery.js
<script type="text/javascript" src="../Script/jquery.js"></script>
<script type="text/javascript">
function datapost() {
$.post(location.href, {name:"久里"}, function (data) {
alert(data);
})
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div onclick="datapost()">
按我
</div>
</form>
</body>
</html>
在server side收到資料後判斷再將資料寫出
Server Side:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not String.IsNullOrEmpty(Request("name")) Then
If Request("name").ToString = "久里" Then
'聰明的讀者這時候就知道這段可以去撈DB的資料在write出來交給client顯示
Response.Write("馬久里 & 小布")
'讀者可以是者把response.End拿掉看看
Response.End()
End If
End If
End Sub
瀏覽畫面如下: