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
// Add a price element.添加一个节点
   XmlElement newElem = doc.CreateElement("price");
   newElem.InnerText = "10.95";
   doc.DocumentElement.AppendChild(newElem);//添加一个节点
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的应用


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/4642722.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术。将返回的json格式数据,添加到select标签下。           //加载出部门的信息            function loadGroup(){                            $.
923 0
7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.所有的key皆为char *型,value类型为bool intfloat double std::string. 读操作
1251 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8404 0
错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7c1609
错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7c1609c9-9d0f-4836-85b3-cefd45f942a7.
4697 0
C#操作Excel 单元格的格式处理
一、参考文章 http://blog.csdn.net/meifage9/article/details/6960747 C# 操作 Excel 单元格自动填充,居中对齐,字体颜色设置 //设置标题 Excel.
834 0
使用JSP的标准标签库JSTL处理XML格式的数据
使用JSP的标准标签库JSTL处理XML格式的数据
3 0
每秒8.8亿次请求!让数据存得起,看得见 - 云原生多模数据库Lindorm 2020双十一总结
2020双十一顺利落下帷幕,这也是云原生多模数据库Lindorm参与的第九个双十一,其作为阿里经济体的核心数据库产品之一,全面支撑了淘宝、天猫、蚂蚁、菜鸟、阿里妈妈、高德、优酷、钉钉、大文娱等经济体业务的结构化、半结构化数据存储需求,今年更是为申通这样的公有云用户保驾护航。
2500 0
4852
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载