本章目标
使用AJAX + XML完成操作;
可以直接在后台利用DOM动态生成XML文件,并交付给AJAX进行显示。
返回XML数据
在XMLHttpRequest对象中也可以使用responseXML()方法接收一组返回的XML数据,这些返回的XML数据可以动态生成(利用JDOM工具将数据库中的数据变为XML文件),也可以直接读取一个XML文件,当客户端接收到读取的XML文件之后,可以通过DOM解析的方式对数据进行操作。
要回传的XML文件 —— allarea.xml
<?xml version="1.0" encoding="UTF-8"?> <allarea> <area> <id>1</id> <title>北京</title> </area> <area> <id>2</id> <title>天津</title> </area> <area> <id>3</id> <title>南京</title> </area> </allarea>
使用AJAX解析XML,并生成下拉列表框
<html> <head> <title>使用 Ajax 解析XML,并生成下拉表框</title> <script type="text/javascript"> var xmlHttp;//Ajax 核心对象名称 function createXMLHttp(){//创建 XMLHttpRequest 核心对象 xmlHttp = new XMLHttpRequest();//兼容IE9,最新的火狐,最新的谷歌 } function getCity(){ createXMLHttp();//建立 XMLHttp 核心对象 xmlHttp.open("POST", "allarea.xml");//设置一个请求 //设置请求完成之后处理的回调函数 xmlHttp.onreadystatechange=getCityCallback; xmlHttp.send(null);//发送请求,不传递任何参数 } function getCityCallback(){//定义回调函数 if(xmlHttp.readyState==4){//数据返回完毕 if(xmlHttp.status==200){//HTTP操作正常 //取得 allarea 节点下的全部节点 var allarea = xmlHttp.responseXML.getElementsByTagName("allarea")[0].childNodes; //取得下拉列表框 city 的对象 var select=document.getElementById("city"); select.length = 1;//显示一个内容 select.options[0].selected = true;//设置第一个为选中状态 //循环 allarea 下的子节点 for(var i=0; i<allarea.length; i++){ //取得每一个<area> var area = xmlHttp.responseXML.getElementsByTagName("allarea")[0]; //取得每一个<area>的中<id>元素内容 var id=area.getElementsByTagName("id")[i].firstChild.nodeValue; //取得每一个<area>的中<title>元素内容 var title =area.getElementsByTagName("title")[i].firstChild.nodeValue; //创建 option 元素 var option=document.createElement("option"); //在 option 元素中设置显示的内容 option.setAttribute("value",id); //在 option 中添加显示的文本内容 option.appendChild(document.createTextNode(title)); //在下拉框中加入 option 属性 select.appendChild(option); } } } } </script> </head> <body onload="getCity()"><!-- 页面加载时调用 --> <form action="" method="post"> 请选择喜欢的城市: <select id="city"> <option value="0"> -请选择城市- </option> </select> </form> </body> </html>
效果图:
使用XML进行数据交换
现在前台页面接收的数据不再像使用传统MVC那样需要编写Java代码了,而只需要将所需的XML数据传回到页面之中即可,而后台的开发语言,可以任意选择,例如:选择PHP或ASP.NET等,这样一个前台页面在各种开发平台下都可以通用了。
小结
通过XML操作可以使数据操作更加的方便,也不受平台限制。
使用AJAX + JavaScript + DOM 操作可以完成各种复杂的前台操作。
相关推荐
在使用jQuery AJAX调用带有参数的Web Service并期望返回XML数据时,需要注意一些关键细节以确保数据能够正确传输和解析。以下是对这个问题的详细解释: 首先,jQuery的AJAX方法用于在不刷新整个页面的情况下与...
7. **返回XML数据**:转换后的XML数据可以通过SOAP响应返回给客户端。HTTP响应体中包含XML数据,客户端解析这个响应,根据XML结构提取所需信息。 8. **显示XML数据**:在客户端,可以使用XML解析库(如jQuery的$....
本文将深入探讨"进入网络请求,对返回的XML数据进行处理"这一主题,包括如何使用ASIHttp进行网络请求以及如何利用XMLParserSDK解析XML数据。 首先,让我们了解网络请求的基础。在网络编程中,HTTP协议是最常用的一...
服务器返回XML数据后,`onHttpRequestCompleted`回调会被触发。在回调中,使用选定的XML解析库解析数据,将XML结构转换为易于处理的C++数据结构。这可能包括提取节点值、属性值等。最后,根据解析结果更新游戏逻辑或...
Java访问WebService返回XML数据的方法是Java开发者在与Web服务交互时常见的需求,特别是当Web服务以XML格式提供数据时。本篇文章将详细讲解如何通过Java实现这一过程,并介绍相关的技术点。 首先,为了访问...
本文将深入探讨如何在C#中使用WebAPI去除返回XML数据时的命名空间。 首先,我们需要了解XML命名空间的作用。XML命名空间是为了避免元素名称冲突而引入的概念,它为XML文档中的元素提供了唯一的标识。然而,在某些...
我们可以通过修改这个方法来返回XML数据。 要返回XML,我们需要在方法中创建一个`System.Xml.XmlDocument`对象,然后构建XML结构。例如: ```csharp [WebMethod] public XmlDocument GetXmlData() { XmlDocument ...
以下创建一个简单的WebService接口,用于接收和返回XML数据: ```csharp [WebService(Namespace = "http://yournamespace.com/")] public class MyWebService : WebService { [WebMethod] public XmlDocument...
当使用Ajax发送请求时,服务器端可以返回XML数据,客户端的JavaScript代码通过DOM(Document Object Model)解析XML并更新HTML元素。例如,以下是一个简单的Ajax请求XML数据的例子: ```javascript var xhr = new ...
- **错误尝试1**:将XML数据转换为String直接返回,可能导致中文乱码,且浏览器会将该字符串当作HTML文本处理,无法正确解析XML标签。 - **错误尝试2**:直接返回对象,如果对象没有被Spring MVC支持的JSON库(如...
使用jQuery库可以简化AJAX调用的过程,但在调用带有参数的Web服务(webservice)并期望返回XML数据时,细节处理变得尤为重要。 本知识点主要针对使用jQuery进行AJAX调用时,涉及到的如何正确传递参数给Web服务,...
当请求成功并返回XML数据时,可以通过`responseXML`属性访问XML文档。这个属性返回一个DOM对象,可以使用DOM方法如`getElementsByTagName`、`getElementById`等来遍历和操作数据: ```javascript if (xhr....
该代码是servlet 与外网接口xml的交互,含xml的封装解析
在这个案例中,`/api/export-to-xml` 是服务器上的一个Ajax接口,它执行数据库查询并返回XML数据。客户端接收到响应后,可以解析XML并更新页面内容。 综上所述,通过Java的JDOM库,我们可以方便地处理XML数据的导入...
本文提到的“学生数据库”示例,说明了如何在SQL Server数据库中使用Transact-SQL语句返回XML数据。例如,通过使用FOR XML RAW子句,可以将学生的学号、课程号和成绩信息转换成XML格式,并且以具有通用名称的XML元素...
文章还讨论了基于HTTP协议的返回XML数据的方法,借助SQL Server 2000提供的XML支持工具sqlisapi.dll。 第三节,讨论了IIS中的SQL Server XML支持虚拟目录的设置。通过设置IIS及SQL Server的虚拟域,可以使得能够...
本篇将详细讲解如何使用OkHttp进行网络访问,并解析返回的JSON与XML数据。 首先,我们需要了解OkHttp的基本用法。OkHttp是一个异步的HTTP客户端,它通过减少网络延迟和内存使用来提高性能。创建一个OkHttpClient...
- **API返回的XML数据**:当API返回XML格式的结果时,可以使用BIRT解析并生成报表。 - **自定义数据交换格式**:企业内部可能有基于XML的自定义数据格式,BIRT提供了一个灵活的平台来处理这些数据。 7. **MHT文件...