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);

  }

  }

  });

  });

  });