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
|
// 得到根节点bookstoreXmlNode 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的应用
Ajax实现异步操作实例_针对XML格式的请求数据的更多相关文章
- Ajax实现异步操作实例_针对JSON格式的请求数据
最近写了一篇ajax异步操作XML格式的,今天就写关于json格式的. 一.简单了解Json 1. JSON有两种表示结构,对象和数组. 1.1 对象: { key1:value1, key2:val ...
- XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)
1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一 ...
- Python解析Yahoo的XML格式的天气预报数据
以下是Yahoo天气预报接口xml格式数据: <rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xm ...
- Spring Boot 2.x基础教程:如何扩展XML格式的请求和响应
在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式 ...
- FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
*起因* 本来想用Chart.js来搞图表的, 但是来了个新需求,想搞的华丽点,毕竟对Chart.js来说,实现有点难度, *做出的改变* 最终选择了FusionCharts, *难点* 网上关于Fu ...
- python接口自动化-发xml格式post请求
前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...
- ajax实现异步操作实例1
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- spring mvc接收参数方式,json格式返回请求数据
1 使用方法形参使用变量接收提交的数据 2 在方法的形参中使用模型接收数据 3 如果在提交的表单中有多个数据模型,需要创建一个新的Bean,里面的属性是要接收的对象变量. 4 接收提交的日期字符串,转 ...
- R语言XML格式数据导入与处理
数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...
随机推荐
- 【读书笔记】iOS-验证应用内支付的凭证注意事项
1,简单来说,越狱后的手机由于没有沙盒作为保护,黑客可以对系统进行任意的修改,所以,在支付过程中,苹果返回的已付款成功的凭证可能是伪造的.客户端拿到付款凭证之后,还需要将凭证上传到自己的服务器,进行二 ...
- Android开发笔记——常见BUG类型之内存泄露与线程安全
本文内容来源于最近一次内部分享的总结,没来得及详细整理,见谅. 本次分享主要对内存泄露和线程安全这两个问题进行一些说明,内部代码扫描发现的BUG大致分为四类:1)空指针:2)除0:3)内存.资源泄露: ...
- WPF + Caliburn.Micro +ActionMessage事件绑定
ActionMessage事件绑定是个人觉的算是CM的精髓了,比如说我在View里面放个button,我们要在他的click事件里面写东西,怎么写.如果是WPF我们直接在CS里面写就可以.但是CM不行 ...
- IOC基础
Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...
- android基础开发之WebView
WebView 是android平台沟通 http & H5 页面的桥梁. 但是google对这块的表述不是很清晰,而且SDK里面基本看不到源码,只有一个接口而已. 传送:http://dev ...
- struts2.3.24 + spring4.1.6 + hibernate4.3.11+ mysql5.5.25开发环境搭建及相关说明
一.目标 1.搭建传统的ssh开发环境,并成功运行(插入.查询) 2.了解c3p0连接池相关配置 3.了解验证hibernate的二级缓存,并验证 4.了解spring事物配置,并验证 5.了解spr ...
- 问题解决——基于MSCOMM32.OCX控件的类在客户机不能创建控件
大家不要笑我了,我不喜欢用那个人家写的串口类. 所以导出了MSCOMM32.OCX的类,然后在此基础上写了一个串口打印机的小工具类. -------------声明--------------- 本文 ...
- golang中os/exec包用法
exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. 1.func LookPath(file string) ( ...
- js中location.href的用法
Javascript中的location.href有很多种用法,主要如下: self.location.href="/url" 当前页面打开URL页面 ocation.href=& ...
- Android开发之 Android应用程序详细解析
我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻 ...