XmlHttpRequest对象创建于使用片段及处理xml .js
//用户名校验的方法
//这个方法将使用XMLHTTPRequest对象来进行AJAX的异步数据交互
var xmlhttp;
function verify() {
//0。使用dom的方式获取文本框中的值
//document.getElementById("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果<input>
//。value可以获取一个元素节点的value属性值
var userName = document.getElementById("userName").value;
//1.创建XMLHttpRequest对象
//这是XMLHttpReuquest对象无部使用中最复杂的一步
//需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码
if (window.XMLHttpRequest) {
//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
xmlhttp = new XMLHttpRequest();
//针对某些特定版本的mozillar浏览器的BUG进行修正
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//针对IE6,IE5.5,IE5
//两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js的数组中
//排在前面的版本较新
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i = 0; i < activexName.length; i++) {
try{
//取出一个控件名进行创建,如果创建成功就终止循环
//如果创建失败,回抛出异常,然后可以继续循环,继续尝试创建
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e){
}
}
}
//确认XMLHTtpRequest对象创建成功
if (!xmlhttp) {
alert("XMLHttpRequest对象创建失败!!");
return;
} else {
alert(xmlhttp.readyState);
}
//2.注册回调函数
//注册回调函数时,之需要函数名,不要加括号
//我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这是错误的
xmlhttp.onreadystatechange = callback;
//3。设置连接信息
//第一个参数表示http的请求方式,支持所有http的请求方式,主要使用get和post
//第二个参数表示请求的url地址,get方式请求的参数也在url中
//第三个参数表示采用异步还是同步方式交互,true表示异步
//xmlhttp.open("GET","AJAXServer?name="+ userName,true);
//POST方式请求的代码
xmlhttp.open("POST","AJAXXMLServer",true);
//POST方式需要自己设置http的请求头
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//POST方式发送数据
xmlhttp.send("name=" + userName);
//4.发送数据,开始和服务器端进行交互
//同步方式下,send这句话会在服务器段数据回来后才执行完
//异步方式下,send这句话会立即完成执行
//xmlhttp.send(null);
}
//回调函数
function callback() {
//alert(xmlhttp.readyState);
//5。接收响应数据
//判断对象的状态是交互完成
if (xmlhttp.readyState == 4) {
//判断http的交互是否成功
if (xmlhttp.status == 200) {
//使用responseXML的方式来接收XML数据对象的DOM对象
var domObj = xmlhttp.responseXML;
if (domObj) {
//<message>123123123</message>
//dom中利用getElementsByTagName可以根据标签名来获取元素节点,返回的是一个数组
var messageNodes = domObj.getElementsByTagName("message");
if (messageNodes.length > 0) {
//获取message节点中的文本内容
//message标签中的文本在dom中是message标签所对应的元素节点的字节点,firstChild可以获取到当前节点的第一个子节点
//通过以下方式就可以获取到文本内容所对应的节点
var textNode = messageNodes[0].firstChild;
//对于文本节点来说,可以通过nodeValue的方式返回文本节点的文本内容
var responseMessage = textNode.nodeValue;
//将数据显示在页面上
//通过dom的方式找到div标签所对应的元素节点
var divNode = document.getElementById("result");
//设置元素节点中的html内容
divNode.innerHTML = responseMessage;
} else {
alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
}
} else {
alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);
}
} else {
alert("出错了!!!");
}
}
}
分享到:
相关推荐
2. 发送和接收XML数据:在使用XMLHttpRequest对象时,我们可以通过其send方法发送请求,并通过responseXML属性或responseText属性接收来自服务器的数据。通常情况下,服务器返回的是XML格式的数据,客户端通过解析...
通过上述代码片段可以看出,为了兼容各种浏览器环境,我们首先尝试使用 `ActiveXObject` 创建 XMLHttpRequest 对象,如果失败则尝试使用原生的 `XMLHttpRequest` 构造函数。 #### 三、XMLHTTPRequest的主要属性与...
同时,考虑到跨域安全性和兼容性问题,可能需要使用现代浏览器支持的`fetch` API或`XMLHttpRequest`对象,而非旧版的ActiveX对象。 总结来说,处理超长XML表单数据的关键在于理解服务器的限制,利用合适的客户端和...
通过实例化XMLHttpRequest对象或使用jQuery的Ajax方法,我们可以实现与服务器的交互,从而创建出更富交互性的Web应用。在实际项目中,通常会结合HTML、CSS、JavaScript以及服务器端技术,共同构建高效、动态的Web...
通过创建XMLHttpRequest对象,设置HTTP请求的类型(GET或POST)、URL和是否异步执行,然后发送请求。当服务器响应时,处理返回的数据。 ### 2. 数据交换格式 虽然名字中有XML,但实际应用中,Ajax并不一定局限于...
这个Ajax小片段的示例,虽然简单,但它涵盖了Ajax的基本使用流程,对于初学者来说,是一个很好的实践案例,有助于理解Ajax如何在实际场景中工作。通过学习和模仿这样的例子,你可以逐步掌握Ajax技术,并将其应用于更...
例如,如果我们使用JDBC(Java Database Connectivity)连接MySQL,可以创建PreparedStatement对象,设置SQL语句,然后将XML中的值传入占位符。 2. **不同数据库间的操作**: Java支持多种数据库驱动,如MySQL、...
例如,你可以创建一个函数`ajaxText()`,通过`XMLHttpRequest`对象发送POST请求,并在`onreadystatechange`事件中处理返回的文本。服务器端通过设置`Content-Type:text/html;charset=utf-8`来表明返回数据的类型。...
在给定的代码片段中,可以看到`getDatal(url)`函数通过`MSXML2.XMLHTTP.4.0`创建XMLHttpRequest对象,并使用GET方法发起请求,最后返回响应的XML数据。此外,还展示了如何通过`getHTTPPage(url)`函数使用VBScript...
在使用Ajax进行开发时,开发者需要创建XHR对象,这通常涉及到不同浏览器的兼容性处理。之后,需要绑定回调函数来处理服务器响应的数据。在发送参数时,可以使用GET方法将数据附加到URL后,也可以使用POST方法通过...
在这个文件中,可能包含了创建XMLHttpRequest对象、设置请求参数、监听状态变化以及处理响应的代码片段。 总结起来,Ajax是一种强大的Web开发技术,通过异步数据传输,它可以提高网页的响应性和用户体验。这个"简易...
为了简化这个过程,可以使用一个工厂函数来创建`XMLHttpRequest`对象,如上文代码片段所示。这样可以确保在所有浏览器中都能正确创建对象,而无需关心具体的实现细节。 ### 配置和发送请求 一旦`XMLHttpRequest`...
创建了`XMLHttpRequest`对象后,我们需要配置请求的参数,包括请求类型(GET或POST)、请求URL以及是否为异步请求。例如,我们可以设置如下: ```javascript xmlHttp.open('POST', 'shangchuan.php', true); ``` ...
在上述文件片段中,主要展示了XMLHttpRequest对象的使用方法和AJAX的基本原理。下面,我将详细地介绍这些知识点: 1. XMLHttpRequest对象 XMLHttpRequest对象是浏览器提供的用于异步请求的一种机制,它允许...
例如,在Internet Explorer中,无法直接使用`XMLHttpRequest`对象,而需要使用`ActiveXObject`来创建相应的对象实例。这正是上述代码片段中所体现出来的兼容性处理策略。 #### 四、AJAX的工作流程 了解了如何创建`...
- 在现代浏览器中,可以直接使用 `new XMLHttpRequest()` 创建 XMLHttpRequest 对象。 - 对于旧版本的 IE 浏览器,则需要使用 `new ActiveXObject("Microsoft.XMLHTTP")` 来创建。 2. **初始化请求**: - 使用 `...
总之,“ajax最简单范例”不仅展示了AJAX的基本使用方法,包括创建XMLHttpRequest对象、发送异步请求、处理服务器响应以及设置请求头等关键步骤,还体现了良好的编程实践,如代码封装、兼容性和错误处理,这些都是...
4. **数据格式**:虽然名字中有XML,但Ajax并不局限于使用XML。现代Ajax应用更常使用JSON格式,因为JSON更轻量且易于解析。在这个例子中,服务器返回的数据可能是HTML片段或者JSON格式,用于更新网页的部分内容。 5...
2. **创建 XMLHttpRequest 对象**:使用JavaScript创建一个`XMLHttpRequest`对象实例。 3. **配置请求**:设置请求的类型(GET/POST)、URL地址以及回调函数,用于处理服务器响应。 4. **发送请求**:通过调用`send...
学习者需要了解如何创建和使用XMLHttpRequest对象,以及如何设置请求参数如URL、HTTP方法(GET或POST)等。 2. **发送请求**:学习如何使用send()方法发送数据到服务器。对于GET请求,数据通常包含在URL中;对于...