Asp.NET中利用jQuery實現Ajax時,在服務器端可以使用aspx,ashx,以及WebService等方式。最近研究了一下WebService方式,jQuery Ajax 方法調用 jQuery Ajax方法調用 Asp.Net WebService 的詳細實例代碼這篇帖子給出了很詳細的例子,不過沒有給出詳細解釋。其中有幾個細節問題開始沒注意,費老勁才調通:
1)客戶端data數據中的key字段名稱必須和服務器端方法參數嚴格一致。
如客戶端:
//有參數調用
$(document).ready(function () {
$("#btn2").click(function () {
$.ajax({
type: "POST",
contentType: "application/json",
url: "WebService.asmx/GetWish",
data: "{value1:'心想事成',value2:'萬事如意',value3:'牛牛牛',value4:2009}",
dataType: 'json',
success: function (result) {
$('#dictionary').append(result.d);
}
});
});
});
服務器端的GetWish函數參數必須寫成value1,value2,value3,value4:
[WebMethod]
public string GetWish(string value1, string value2, string value3, int value4)
{
return string.Format("祝您在{3}年裡 {0}、{1}、{2}", value1, value2, value3, value4);
}
2)客戶端傳遞對象到服務器端的方法:
客戶端代碼:
//傳入對象
$(function () {
$("#btn6").click(function () {
obj = new Object();
obj.ID = "1";
obj.Value = "aaa";
//'{"obj":{"ID":"1",Value:"Horse"}}'
var d = '{"obj":' + JSON.stringify(obj) + '}';
$.ajax({
type: "POST", //訪問WebService使用Post方式請求
contentType: "application/json", //WebService 會返回Json類型
url: "WebService.asmx/ParmsObject", //調用WebService的地址和方法名稱組合 ---- WsURL/方法名
data: d, //這裡是要傳遞的參數,格式為 data: "{paraName:paraValue}",下面將會看到
dataType: 'json',
success: function (result) {
alert(result.d);
},
error: function (result) {
alert("fail");
}
});
});
});
服務器端代碼:
[WebMethod]
public string ParmsObject(Class1 obj)
{
return obj.ID + ":" + obj.Value;
}
調試環境:VS2010+jquery-1.3.2.min.js
以上就是小編為大家帶來的JQuery Ajax WebService傳遞參數的簡單實例全部內容了,希望大家多多支持~