function getDepartmentForSelect() {
createXMLHttpRequest();
var url = '../xxx.do';
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = handleDepartment;//指定响应函数
XMLHttpReq.send(null);
}
function handleDepartment() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) {
// 信息已经成功返回,开始处理信息
onreadyDepartment();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if (window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
}
function onreadyDepartment() {
var xmlResponse = XMLHttpReq.responseXML;
var departments = xmlResponse.getElementsByTagName("department");
if (departments.length == 0) {
return;
}
var queryDepartment = document.getElementById("departmentHidden").value;
var objSelect = document.getElementById("department");
var departmentArray = departments[0].firstChild.text.split(",");
var varItemHead = new Option();
objSelect.options.add(varItemHead); //头部
for (var i = 0; i < departmentArray.length; i++) {
var varItem = new Option(departmentArray[i], departmentArray[i]);
if (queryDepartment == departmentArray[i]) {
varItem.selected = true;
}
objSelect.options.add(varItem);
}
}
getDepartmentForSelect();
<input type="hidden" value="<%=queryDepartment%>" id="departmentHidden"/>
<select name="department" id="department" style="width:90px;"></select>
String returnDepartment = "";
List<String> departmentList = DepartmentPartDAO.getDepartmentList();
StringBuilder departmentSB = new StringBuilder();
for (String str:departmentList){
departmentSB.append(str+",");
}
if(departmentSB.length()>0){
returnDepartment = departmentSB.substring(0,departmentSB.length()-1);
}
PrintWriter out;
try {
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
out = response.getWriter();
out.println("<response>");
out.println("<department>" + returnDepartment + "</department>");
out.println("</response>");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
request.setAttribute("queryDepartment", InterceptPartQueryForm.getDepartment());
分享到:
相关推荐
在本示例中,我们将深入探讨XMLHttpRequest的基本用法,以及如何处理返回的XML数据。 一、XMLHttpRequest的创建与初始化 在JavaScript中,你可以通过`new XMLHttpRequest()`来创建一个新的XMLHttpRequest对象。...
掌握 XMLHTTPRequest 的使用方法对于任何希望开发现代 Web 应用程序的前端开发者来说都是必不可少的技能之一。此外,随着 Web 技术的发展,XMLHTTPRequest 已经成为 Web 开发中的一个基础组件,并在不断演化之中,...
### XMLHttpRequest的用法及AJAX同步与异步的区别 #### 一、XMLHttpRequest简介 `XMLHttpRequest`对象是实现客户端与服务器端异步交互的重要工具之一。它允许JavaScript执行HTTP请求,无需重新加载整个网页即可从...
本教程将通过一个简单的例子来探讨XMLHttpRequest的使用。 首先,我们需要理解XMLHttpRequest的基本结构。在JavaScript中,创建一个新的XMLHttpRequest对象通常是这样开始的: ```javascript var xhr = new ...
总结,"创建XMLHttpRequest对象的方法.rar"这个资源主要介绍了如何在JavaScript中创建并使用XMLHttpRequest对象进行AJAX通信,包括对象创建、状态监听、请求初始化和发送、以及响应处理等关键步骤。在实际项目中,...
在本文中,我们将深入探讨XMLHttpRequest的工作原理、API用法以及它如何与JavaScript交互。 **1. XMLHttpRequest的创建与初始化** 在JavaScript中,创建一个新的XMLHttpRequest对象非常简单,只需通过`new ...
- 0(UNSENT):XMLHttpRequest对象已创建,但尚未调用open()方法。 - 1(OPENED):open()方法已被调用。 - 2(HEADERS_RECEIVED):send()方法已被调用,且头部信息已接收。 - 3(LOADING):数据正在被接收。...
对于IE浏览器,可以使用`ActiveXObject`来创建`XMLHTTPRequest`对象。 ```javascript if (window.ActiveXObject) { // 检测IE浏览器 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` ##### 非IE浏览器 ...
XMLHttpRequest中文参考手册将涵盖以上所有知识点,并可能包含更深入的用法,如分块上传、HTTP认证、预检请求(CORS的OPTIONS请求)以及最新的XMLHttpRequest Level 2和Level 3的特性。通过这份手册,无论是初学者...
### Ajax之XMLHttpRequest详解 #### 一、引言 随着互联网技术的发展,用户对Web应用的体验要求越来越高。...未来,随着技术的进步,类似的API可能会继续发展和完善,但XMLHttpRequest的基本原理和用法将保持不变。
通过理解XMLHttpRequest的工作原理和基本用法,开发者可以构建交互性强、用户体验良好的Web应用程序。然而,现代Web开发中更常使用fetch API,它提供了更简洁的语法和更好的错误处理机制。但XMLHttpRequest仍然是...
XMLHttpRequest对象的主要属性和方法包括: 1. readyState属性:表示请求的状态,共有5个值,分别对应请求的不同阶段,从0(未初始化)到4(完成)。当状态改变时,会触发onreadystatechange事件。 2. ...
以上就是XMLHttpRequest的主要方法和属性API的详细解释。了解和熟练掌握这些工具是构建交互式Web应用的基础,特别是在进行前端数据获取和更新时。通过合理的使用,开发者可以实现高效的页面动态加载和无刷新操作,极...
### AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题 #### 背景与问题概述 在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如...
以下将详细讲解如何在C#中使用XMLHttpRequest进行Web服务交互。 1. **XMLHttpRequest基础** XMLHttpRequest对象是AJAX(Asynchronous JavaScript and XML)的核心,尽管它的名字中包含XML,但实际上它可以处理各种...
XMLHttpRequest(XHR)是JavaScript中一个非常重要的对象,...总的来说,XMLHttpRequest提供了丰富的属性和方法,使我们能够构建功能强大的AJAX应用,实现网页的无刷新交互。理解和掌握这些知识对于前端开发至关重要。
在使用 XMLHttpRequest 对象时,还需要注意中文乱码问题,默认情况下,XMLHttpRequest 对象使用 UTF-8 字符集,而我们使用的多是 GB2312 字符集,可以使用 PHP 的 mb_convert_encoding 函数来进行编码转换: ...