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

出处: http://www.cnblogs.com/windy2008

原文地址:https://www.cnblogs.com/windy2008/p/1689310.html