1.AJAX:客户端(服务器返回的是XML数据格式)

2023-11-12 02:32

本文主要是介绍1.AJAX:客户端(服务器返回的是XML数据格式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/** <?xml version="1.0" encoding="UTF-8"?> <items> <item> <id>10003</id> <name>保定</name> </item> <item> <id>10004</id> <name>天津</name> </item> </items> 
*/ // XMLHttpRequest对象
var xmlHttpRequest;/***	大区select的option发生变化时调用此函数,把大区对应的城市查出来,放在城市select的option中*  这个方法将使用XMLHttpRequest对象来进行AJAX的异步数据交互*/
function getCities(field) {// 获取大区select的option的valuevar regionValue = field.value;// 创建XMLHttpRequest对象,需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码// 针对FireFox,Mozillar,Opera,Safari,IE7,IE8if (window.XMLHttpRequest) {xmlHttpRequest = new XMLHttpRequest();//	针对某些特定版本的mozillar浏览器的BUG进行修正if (xmlHttpRequest.overrideMimeType) {xmlHttpRequest.overrideMimeType("text/xml");}// 针对IE6,IE5.5,IE5} else if (window.ActiveXObject) {// 两个可以用于创建XMLHttpRequest对象的控件名称,保存在一个js的数组中,排在前面的版本较新var activeXName = [ "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];for ( var int = 0; int < activeXName.length; int++) {try {// 取出一个控件名进行创建,如果创建成功就终止循环,如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建xmlHttpRequest = new ActiveXObject(activeXName[int]);break;} catch (e) {}}}// 确认XMLHTtpRequest对象创建成功if (!xmlHttpRequest) {window.alert("XMLHttpRequest对象创建失败!");return false;}// 注册回调函数,需要函数名,不要加括号xmlHttpRequest.onreadystatechange = callback;// 设置连接信息// 第一个参数表示http的请求方式,支持所有http的请求方式,主要使用get和post// 第二个参数表示请求的url地址,get方式请求的参数也在url中// 第三个参数表示采用异步还是同步方式交互,true表示异步xmlHttpRequest.open("GET", "../servlet/StatReportServlet?command=${getCity}®ionId=" + regionValue + "&date=" + new Date(), true);// 发送数据,客户端设置信息发送给AJAX引擎xmlHttpRequest.send(null);
}/*** 回调函数*/
function callback() {// 接收响应数据,AJAX引擎跟服务器交互完成if (xmlHttpRequest.readyState == 4) {// AJAX引擎跟服务器交互成功if (xmlHttpRequest.status == 200) {// 服务器(servlet)返回的是XML数据var domObj = xmlHttpRequest.responseXML;// 正确返回XML数据对象if (domObj) {// 获取节点item(数组)var itemElement = domObj.getElementsByTagName("item");// 节点item长度大于0才是正常情况if (itemElement.length > 0) {// 获取城市selectvar citySelect = window.document.getElementById("province");// 往城市select添加option之前先清空之前的optioncitySelect.options.length = 0;// 添加默认的option(全部)var allOption = new Option("--全部--", 0);citySelect.add(allOption);// 遍历节点item,取出子节点id和name的内容,设置在城市select的option中for ( var int = 0; int < itemElement.length; int++) {var id = itemElement[int].childNodes[0].firstChild.nodeValue;var name = itemElement[int].childNodes[1].firstChild.nodeValue;// 根据name,id创建新的optionvar nameIdOption = new Option(name, id);citySelect.add(nameIdOption);							}} else {window.alert("XML数据格式错误,原始的文本内容是 " + xmlHttpRequest.responseText);}} else {window.alert("XML数据格式错误,原始的文本内容是 " + xmlHttpRequest.responseText);}// AJAX引擎跟服务器交互失败	} else {window.alert("AJAX引擎跟服务器交互失败");}}
}


这篇关于1.AJAX:客户端(服务器返回的是XML数据格式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/394483

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现websocket服务端及客户端的详细过程

《SpringBoot实现websocket服务端及客户端的详细过程》文章介绍了WebSocket通信过程、服务端和客户端的实现,以及可能遇到的问题及解决方案,感兴趣的朋友一起看看吧... 目录一、WebSocket通信过程二、服务端实现1.pom文件添加依赖2.启用Springboot对WebSocket

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停