zoukankan      html  css  js  c++  java
  • Ajax实现异步操作实例_针对XML格式的请求数据

    js分类中有一节【原生js异步请求,XML解析】主要说明了js前台是如何处理XML格式请求和如何接受由服务器返回的XML数据的解析,今天我将用一个实例来说明具体要如何操作.

    前台的参数类型也是XML使用的是jquery:

        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读写,这里就简单的说明一下:

    XmlDocument xdoc = new XmlDocument();
    //xml字符串操作 xdoc.LoadXml(strxml);//读取xml字符串strxml
    // Add a price element.添加一个节点
       XmlElement newElem = doc.CreateElement("price");
       newElem.InnerText = "10.95";
       doc.DocumentElement.AppendChild(newElem);//添加一个节点
    xdoc.Load(fileName);//读取xml文件fileName是文件的路径

      以上简单说明LoadXml和Load简单用法,这里就不做详细说明。下面是后台处理前台的xml格式的参数

    // 得到根节点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";

    DataSet ds = new DataSet();
    ds = GetList();
    context.Response.Clear();
    context.Response.Write(ds.GetXml()); 

      

    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的应用

  • 相关阅读:
    一步步学习SPD2010--第八章节--理解工作流(3)--使用操作和条件
    《python深度学习》笔记---9.1、深度学习知识回顾
    《python深度学习》笔记---8.5、生成式对抗网络简介
    《python深度学习》笔记---8.4、用变分自编码器生成图像
    《python深度学习》笔记---8.3、神经风格迁移
    Git 里面的 origin 到底代表啥意思?
    《python深度学习》笔记---8.2、DeepDream
    《python深度学习》笔记---8.1、使用LSTM生成文本
    《python深度学习》笔记---7.3.3、模型集成
    2021年1月份中国浏览器份额
  • 原文地址:https://www.cnblogs.com/WarBlog/p/4642618.html
Copyright © 2011-2022 走看看