常常须要使用客户端脚本调用net的WebService,比较经常使用的是在ScriptManager脚本管理器的环境下使用回调调用WebService的方法,但是这些必须在aspx的页面中进行,不免有些限制。ajax
jQuery库是咱们比较经常使用的JavaScript库,入门简单,功能强大,对Ajax的支持比较友好。使用jQuery调用net的WebService也是常常遇到的。现将常见调用类型总结以下:json
一、环境app
jQuery 1.3.2ide
.net framework 2.0函数
Asp.net ajax 1.0测试
二、后台WebService的代码动画
WebService中使用的实体类ui
三、前台显示页面调用this
这里前台页面使用htm页面来进行测试。url
一、无参数调用
$(document).ready(function() {
$('#Button1').click(function() {
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json", //WebService 会返回Json类型
url: "../WebService.asmx/HelloWorld", //调用WebService的地址和方法名称组合---WsURL/方法名
data: "{}", //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到
dataType: 'json',
success: function(result) { //回调函数,result,返回值
alert(result.d);
}
});
});
});
二、带参数的调用
$(document).ready(function() {
$('#Button1').click(function() {
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json", //WebService 会返回Json类型
url: "../WebService.asmx/HelloWorld", //调用WebService的地址和方法名称组合---WsURL/方法名
data: "{userName:'alpha'}",
dataType: 'json',
success: function(result) { //回调函数,result,返回值
alert(result.d);
}
});
});
});
三、返回复合类型
$(document).ready(function() {
$('#Button1').click(function() {
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json", //WebService 会返回Json类型
url: "../WebService.asmx/GetClass", //调用WebService的地址和方法名称组合---WsURL/方法名
data: "{}",
dataType: 'json',
success: function(result) { //回调函数,result,返回值
alert(result.d["StuName"]);
}
});
});
});
四、返回泛型集合
$(document).ready(function() {
$('#Button1').click(function() {
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json", //WebService 会返回Json类型
url: "../WebService.asmx/GetList", //调用WebService的地址和方法名称组合---WsURL/方法名
data: "{}",
dataType: 'json',
success: function(result) { //回调函数,result,返回值
$(result.d).each(function(){
$("#result").append(this["Id"]+" "+this["StuName"]+"<br />");
});
}
});
});
});
五、返回DataSet(xml格式)
$(document).ready(function() {
$('#Button1').click(function() {
$.ajax({
type: "POST", //访问WebService使用Post方式请求
url: "../WebService.asmx/GetDataSet", //调用WebService的地址和方法名称组合---WsURL/方法名
data: "{}",
dataType: "xml",
success: function(result) { //回调函数,result,返回值
$(result).find("Table1").each(function() {
$('#result').append($(this).find("Id").text() + " " + $(this).find("Name").text()+"<br />");
});
}
});
});
});
显示动画效果
$(document).ready(function(){
$('#loading').ajaxStart(function() {
$(this).show();
}).ajaxStop(function() {
$(this).hide();
});
});
HTML代码部分
<input id="Button1" type="button" value="Invoke" /> <div id="result"> <img id="loading" style="display: none;" alt="loading" src="../images/loading.gif" /> </div>