Jquery之Ajax 調用 xmlWebService篇

來源:互聯網
上載者:User
  步驟一:從資料庫返回XML成字串步驟一:從資料庫返回XML成字串#region 步驟一:從資料庫返回XML成字串

public static string GetXml(int parentId)
    {
        IList<CategoryInfo> listCtgs = new Category().GetCategories(parentId);
        string xml = "<Ctgs>";
        for (int i = 0; i < listCtgs.Count; i++)
        {
            xml += "<Ctg>";
            xml += "<Name>" + ReplaceXml(listCtgs[i].CategoryName) + "</Name>";
            xml += "<No>" + listCtgs[i].CategoryNo + "</No>";
            xml += "<HasChild>" + listCtgs[i].HasChild.ToString() + "</HasChild>";
            xml += "<NamePath>" + ReplaceXml(listCtgs[i].NamePath) + "</NamePath>";
            xml += "</Ctg>";
        }
        xml += "</Ctgs>";
        return xml;
    }

#endregion

  步驟二:建立Category.asmx  返回XMLWebMethod XML文檔步驟二:建立Category.asmx  返回XMLWebMethod XML文檔#region 步驟二:建立Category.asmx  返回XMLWebMethod XML文檔
         
    [WebMethod]
    public XmlDataDocument GetCategoriesXml(int categoryNo)
    {
        XmlDataDocument xd = new XmlDataDocument();
        xd.LoadXml(GetXml(categoryNo));
        return xd;
    }

    #endregion

  步驟三 寫個公用Jquery ajax 返回xml方法並有回呼函數步驟三 寫個公用Jquery ajax 返回xml方法並有回呼函數#region 步驟三 寫個公用Jquery ajax 返回xml方法並有回呼函數
         
function XmlWebService(url,pars,callback){
   $.ajax({
      data:pars,
      url: url,
      type: "POST",
      ContentType: "text/xml;utf-8",//這裡需要加個utf-8 
      dataType:'xml',
      cache: true,
      success:function(data){
        callback(data); 
      },
      error:function(data,status){
         alert('Ajax xmlWebServicer Error \n'+ data.responseText);
      }
   }
   );
}

#endregion

  步驟四:Web前台讀出XML裡面的節點到控制項裡步驟四:Web前台讀出XML裡面的節點到控制項裡#region 步驟四:Web前台讀出XML裡面的節點到控制項裡
         
$(document).ready(function(){
    initCurPage();
});

//初始頁面
function initCurPage()
{
    ReadLevelCtgs(1,1);
}

//取子類XML格式列表
function ReadLevelCtgs(levelNum,parentId) 

    //Jquery ajax取值並callback回調
    XmlWebService('Category.asmx/GetCategoriesXml',{categoryNo:parentId},function(data){BuildLevelCtgs(levelNum,data)});  


//用讀出的xml綁定到前台控制項
function BuildLevelCtgs(levelNum,xml) 
{
   $(curDivId).text("");
   $(xml).find('Ctg').each(function(){  
   var ctgDiv=$('<div></div>');
   ctgDiv.appendTo(curDivId);       
   });
}

#endregion

//author: keen
//備忘:Jquery ajax  可以返回

轉自:http://www.cnblogs.com/xiaobaigang/archive/2008/04/03/1135984.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.