学习新事物:使用jquery+xml实现ajax简单实例

3 篇文章 0 订阅

调用页面通过事件触发

<asp:dropdownlist id="ddlAgentCity" runat="server" οnchange="OnAgentCityChange();"></asp:dropdownlist>

对应函数,使用ajax的方式调用上面页面得到数据集,并差找出对应记录

 

  1. function OnAgentCityChange()
  2. {
  3.     var city = $("#<%=ddlAgentCity.ClientID%>").val();
  4.     $.ajax(
  5.     {
  6.         url: '<%=PageUtility.GetRootURL()%>/Order/Report/XML/GetCompanyByCity.aspx?City=' + city ,
  7.         type: 'GET',
  8.         dataType: 'xml',
  9.         timeout: 10000,
  10.         error: function()
  11.         {
  12.             alert('Error loading XML document');
  13.         },
  14.         success: function(xml)
  15.         {               
  16.             var str = "";
  17.             $(xml).find("root").find("item").each(function()
  18.             {
  19.                 str += "<option value='" + $(this).attr("id") + "'>" + $(this).attr("name") + "</option>"               
  20.             });
  21.             $("#<%=ddlAgentID.ClientID%>").html(str);                       
  22.         }
  23.     });
  24. }

最后一句是直接赋值 

 

下面是提供查询数据库的页面,会返回xml格式的集合

public class GetCityByAreaRegion : System.Web.UI.Page

private void Page_Load(object sender, System.EventArgs e)
  {
   string strArea = Request.QueryString["Area"];
   if(strArea == null)
    strArea = "";

   XmlDocument doc = new XmlDocument();
   doc.LoadXml("<?xml version=/"1.0/" encoding=/"GB2312/" ?>/n<root/>");

   IList lst;
   if(strArea.Trim() == "")
   {
    lst = City.GetAllCitys();
   }
   else
   {
    lst = City.GetByAreaRegion(strArea);
   }

   StringBuilder buffer = new StringBuilder();

   buffer.Append("<root>");
   buffer.Append("<item code=/"/" name=/"全部/" />");

   for(int i=0;i<lst.Count;i++)
   {
    CityInfo info = (CityInfo)lst[i];

    buffer.AppendFormat("<item code=/"{0}/" name=/"{1}/" />",
     info.strName,info.strCodeName);
   }
   buffer.Append("</root>");

   doc.DocumentElement.InnerXml = buffer.ToString();

   Response.ContentType = "text/xml";
   doc.Save(Response.OutputStream);
   Response.End();
  }

当然记得引入js啦

<script language="javascript" src="<%=PageUtilityTool.GetRootURL()%>/js/jquery.js"></script>

 

jQuery 中文社区 http://wiki.jquery.org.cn/doku.php <script language=javascript src="<%=PageUtility.GetRootURL()%>/js/Common.js"></script>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值