Ajax实现异步操作实例_针对XML格式的请求数据
生活随笔
收集整理的這篇文章主要介紹了
Ajax实现异步操作实例_针对XML格式的请求数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
js分類中有一節【原生js異步請求,XML解析】主要說明了js前臺是如何處理XML格式請求和如何接受由服務器返回的XML數據的解析,今天我將用一個實例來說明具體要如何操作.
前臺的參數類型也是XML使用的是jquery:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ????function test(){ ????var?xmlString ="<bookstore>"+ ????????????????????"<book Type='必修課' ISBN='7-111-19149-2'>"+ ????????????????????"<title>數據結構</title>"+ ????????????????????"<author>嚴蔚敏</author>"+ ????????????????????"<price>30.00</price>"+ ????????????????????"</book></bookstore>"; ????$.ajax({ ????type:?"post", ????url:?"Hand/Ajax.ashx", ????data:?"strxml="+xmlString, ????datatype:"xml", ????success: function(xml){ ????????//根據resultText更新頁面 ????????alert("success"); ????????alert($(xml).find('Table1').find('title').text()); ????}, ????error:function(XMLResponse){alert(XMLResponse.responseText)} }); } |
前臺出入的是XML格式的參數,后臺該如何操作呢?這個有針對XML讀寫,這里就簡單的說明一下:
| 1 2 | XmlDocument xdoc =?new?XmlDocument();<br>//xml字符串操作 xdoc.LoadXml(strxml);//讀取xml字符串strxml |
| 1 | xdoc.Load(fileName);//讀取xml文件fileName是文件的路徑 |
以上簡單說明LoadXml和Load簡單用法,這里就不做詳細說明。下面是后臺處理前臺的xml格式的參數
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 得到根節點bookstore XmlNode xn = xdoc.SelectSingleNode("bookstore"); // 得到根節點的所有子節點 XmlNodeList xnl = xn.ChildNodes; // 將節點轉換為元素,便于得到節點的屬性值 XmlElement xe = (XmlElement)(xnl.Item(0)); // 得到Type和ISBN兩個屬性的屬性值 string?bookISBN = xe.GetAttribute("ISBN").ToString(); string?bookType = xe.GetAttribute("Type").ToString(); // 得到Book節點的所有子節點 XmlNodeList xnl0 = xe.ChildNodes; string?bookName = xnl0.Item(0).InnerText; string?bookAuthor = xnl0.Item(1).InnerText; double?bookPrice = Convert.ToDouble(xnl0.Item(2).InnerText); |
后臺處理之后,返回xml格式的數據,當然這個前提context.Response.ContentType = "text/xml";
| 1 2 3 4 | DataSet ds =?new?DataSet(); ds = GetList(); context.Response.Clear(); context.Response.Write(ds.GetXml()); |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | private?DataSet GetList() { ????DataSet ds =?new?DataSet(); ????DataTable dt =?new?????DataTable(); ????dt.Columns.Add("title"); ????dt.Columns.Add("author"); ????dt.Columns.Add("price"); ????DataRow dr = dt.NewRow(); ????dr["title"] =?"book1"; ????dr["author"] =?"matest"; ????dr["price"] = 30.01; ????dt.Rows.Add(dr); ????ds.Tables.Add(dt); ????return?ds; } |
這個是jQuery+Ajax+xml的應用
總結
以上是生活随笔為你收集整理的Ajax实现异步操作实例_针对XML格式的请求数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一骑红尘妃子笑无人知是荔枝来出处(一骑红
- 下一篇: asp.net ajax控件工具集 Au