本篇文章主要是對Jquery Ajax解析XML數據(同步及異步調用)的簡單實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
代碼如下: $.ajax({ async: true, // 默認true(異步請求) cache: true, // 默認true,設置為 false 將不會從浏覽器緩存中加載請求信息。 type: "POST", // 默認:GET 請求方式:[POST/GET] dataType: "xml", //默認["xml"/"html"] 返回數據類型:["xml" / "html" / "script" / "json" / "jsonp"] url: "Test.ashx", // 默認當前地址,發送請求的地址 data: { key: "value" }, // 發送到服務器的數據 error: function(xml) { alert('Error loading XML document' + xml); }, // 請求失敗時調用 timeout: 1000, // 設置請求超時時間 success: function(xml) { // 請求成功後回調函數 參數:服務器返回數據,數據格式. $("#users").empty(); // 用Jquery處理xml數據 $(xml).find('Table').each(function() { var loginname = $(this).find("Loginname").text(); var Name").text(); $("#users").append("<li>" + loginname + " - " + name + "</li>"); }); /* $(xml).find('user').each(function(i) { var loginname = $(xml).find("user loginname").eq(i).text(); var user name").eq(i).text(); $("#users").append("<p>" + loginname + "</p>" + "<p>" + name + "</p><Br />"); }) $(xml).find("student").each(function(i){ var id"); //取對象 var id_value=$(this).children("id").text(); //取文本 alert(id_value);//這裡就是ID的值了。 alert($(this).attr("email")); //這裡能顯示student下的email屬性。 //最後輸出了,這個是cssrain的寫法,貌似比macnie更JQ一點 $('<li></li>').html(id_value).appendTo('ol'); }); */ } }) 用ashx文件返回XML數據: 代碼如下: <%@ WebHandler Language="C#" %> using System; using System.Web; using System.Text; using System.Data; public class Test : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.StatusCode = 200; context.Response.Cache.SetCacheability(HttpCacheability.NoCache); DataSet ds = new DataSet("AccountList"); ds = GetList("Account","AccountId","Loginname,Name",50,1,false, false,"1=1"); context.Response.ContentType = "text/xml"; context.Response.Charset = "GB2312"; context.Response.Clear(); context.Response.Write("<?xml version="1.0" encoding="gbk"?>n " + ds.GetXml()); /* StringBuilder sb = new StringBuilder(); sb.Append("<?xml version="1.0" encoding="gbk"?>"); sb.Append("<AccountList>"); sb.Append("<Account><loginname>Loro5</loginname><name>wulu</name></user>"); sb.Append("</Account>"); context.Response.Write(sb.ToString()); */ context.Response.End(); } public bool IsReusable { get { return false; } } }