Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
一、WebService.asmx:
处理业务数据,在GetDataSet()方法中产生DataSet(XML)数据,供JqueryRequest.aspx调用,代码如下:
代码如下:
[WebMethod]
public DataSet GetDataSet()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Columns.Add("Password", Type.GetType("System.String"));
DataRow dr = dt.NewRow();
dr["Name"] = "小花";
dr["Password"] = "aaaaaaaaa";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Name"] = "小兵";
dr["Password"] = "bbbbbbbbb";
dt.Rows.Add(dr);
ds.Tables.Add(dt);
return ds;
}
二、AjaxRequest.aspx
通过点击按钮来请求WebService.asmx的 GetDataSet()方法,获取XML数据对象。代码如下:
代码如下:
//返回DataSet(XML)
$(document).ready(function() {
$('#btnDataset').click(function() {
$.ajax({
type: "POST",
url: "WebService.asmx/GetDataSet",
data: "{}",
dataType: 'xml', //返回的类型为XML
success: function(result) { //成功时执行的方法
//捕获处理过程中的异常并输出
try {
$(result).find("Table1").each(function() {
$('#dd').append($(this).find("Name").text() + " " + $(this).find("Password").text());
});
}
catch (e) {
alert(e);
return;
}
},
error: function(result, status) { //出错时会执行这里的回调函数
if (status == 'error') {
alert(status);
}
}
});
});
});