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

相关文章

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

javascript实现ajax

什么是 ajax ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取。 http 请求 首先需要了解 http 请求的方法(GET 和 POST)。 GET 用于获取数据。GET 是在 URL 中传递数据,它的安全性低,容量低。 POST 用于上传数据。POST 安全性一般,容量几乎无限。 aj

xml概论

以下内容摘录自W3School 一、XML的特性 xml是用来传输和存储数据的,本身对数据没有任何操作。在这里要区别一下html,html是用来显示数据的。xml的焦点是数据内容,html的焦点是数据外观。 下面是xml的定义: •XML 指可扩展标记语言(EXtensible Markup Language) •XML 是一种标记语言,很类似 HTML

XML的创建

这里使用的是org.dom4j的jar包来完成xml格式数据的创建。 import java.io.IOException;import java.io.StringWriter;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

jQuery—Ajax使用

AJAX是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新[百度百科]   ** XMLHttpRequest对象 XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 常用属性: read

Ajax 解决回调竞争

回调的竞争,即多次快速点击同一按钮导致多个异步的AJAX请求同时返回,导致数据更新顺序混乱。这种情况在异步编程中很常见,特别是前端开发时,AJAX请求的回调并不保证按顺序执行。 $.ajaxSetup() 可以设置全局的 beforeSend 和 complete 回调函数,这样每个 AJAX 请求在发送前和完成后都可以执行相应的逻辑。 let isRequestPending = false

Redis 客户端Jedis使用---连接池

Jedis 是Redis 的Java客户端,通过一段时间的使用,jedis基本实现redis的所有功能,并且jedis在客户端实现redis数据分片功能,Redis本身是没有数据分布功能。 一、下载jedis 代码 jedis 代码地址:https://github.com/xetorthio/jedis 再次感受到开源的强大。呵呵,大家有时间可以看看源码。 二、项目中如何使用Jedi