//用户名校验的方法
//这个方法将使用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("出错了!!!");
}
}
}
分享到:
相关推荐
1. 创建XMLHttpRequest对象:这是AJAX请求的基础,JavaScript代码会创建一个XMLHttpRequest实例,用于与服务器进行通信。 2. 发起HTTP请求:通过XMLHttpRequest对象的open()和send()方法,可以向服务器发送GET或...
- **前端JavaScript脚本**:尽管原始代码中只给出了`<script type="text/javascript">`的开头,但可以猜测这里应该是用于处理AJAX请求和响应的JavaScript代码。这部分代码通常负责定时向服务器发起请求、处理服务器...
Ajax无刷新登录是一种提高用户体验的技术,它...Prototype.js作为前端库,简化了JavaScript代码的编写,使得实现这一功能变得更加便捷。对于初学者来说,这是一个很好的学习资源,可以帮助理解Ajax在实际项目中的应用。
为了提升用户体验,无刷新页面更新技术变得越来越流行,其中AJAX(Asynchronous JavaScript and XML)成为了实现这一目标的重要工具。结合ThinkPHP框架,可以轻松实现数据的异步加载,从而达到页面局部更新的效果,...
Ajax无刷新分页技术是网页开发中的一个重要概念,它允许用户在不重新加载整个页面的情况下获取和更新部分内容,显著提高了用户体验。在这个特定的【标题】"Ajax无刷新分页代码 - ASP源码.zip"中,我们可以预期包含的...
【jsp+ajax 无刷新聊天室】是一种基于JavaServer Pages(JSP)技术和Ajax(Asynchronous JavaScript and XML)技术实现的在线实时交流平台。在这个聊天室中,用户无需手动刷新页面即可实时查看新消息,提高了用户...
"通过Ajax无刷新读写操作"这个主题,就是关于如何使用Jquery的Ajax功能来实现这一目标的实例教程。Ajax,即Asynchronous JavaScript and XML,允许我们异步地向服务器发送请求,更新网页部分内容,而无需刷新整个...
为了解决这一问题,ASP(Active Server Pages)结合AJAX(Asynchronous JavaScript and XML)技术,实现了无刷新文件上传,同时还提供了进度条显示,提高了交互性。本文将深入探讨这种技术的实现原理及步骤。 一、...
标题 "处理ajax返回的js代码" 涉及的核心知识点是使用Ajax技术动态获取并执行JavaScript代码。Ajax(异步JavaScript和XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换...
【AJAX无刷新留言技术详解】 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。AJAX的核心是利用...
为了解决这个问题,Ajax(Asynchronous JavaScript and XML)无刷新分页技术应运而生。Ajax技术利用JavaScript异步通信,可以在不刷新整个页面的情况下,动态更新页面的部分内容,从而实现分页效果,提高网页交互性...
Ajax(Asynchronous JavaScript and XML)无刷新分页是一种在网页上实现数据分块加载的高效技术,它允许用户在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。在ASP.NET环境中,Ajax无刷新分页尤其...
5. **客户端脚本**:为了实现无刷新效果,需要编写JavaScript代码来监听用户的提交事件,通过Ajax调用发送数据到服务器,并在接收到响应后更新留言列表。这通常涉及到DOM操作,如添加新的留言元素到页面上。 6. **...
首先,我们需要在JavaScript代码中创建一个XMLHttpRequest对象,这是所有Ajax交互的基础。 ```javascript var xhr = new XMLHttpRequest(); ``` #### (2) 设置请求参数 接着,我们需要配置请求的参数,包括请求...
Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,实现了网页的异步更新,提高了用户体验,尤其在数据交互频繁的场景下...
为了解决这个问题,Ajax(Asynchronous JavaScript and XML)无刷新分页技术应运而生,它允许用户在不刷新整个页面的情况下实现内容的动态更新,提高交互性和用户体验。 **1. Ajax基础** Ajax是一种在后台与服务器...
【标题】"基于ASP的Ajax 无刷新分页代码.zip" 涉及的技术核心是ASP(Active Server Pages)和Ajax(Asynchronous JavaScript and XML),这两种技术在网页开发中扮演着重要角色。ASP是一种服务器端脚本环境,允许...
当用户在留言板上输入信息并提交时,而不是整个页面刷新,Ajax会发送一个请求到服务器,服务器处理请求并返回新的留言数据,然后JavaScript代码将这些新数据动态地添加到页面的适当位置,从而实现无刷新的效果。...
总之,基于AJAX的无刷新聊天室是现代Web开发中的一个重要示例,它展示了JavaScript和AJAX技术在创建实时互动应用方面的强大能力。通过学习和理解这一技术,开发者可以提升自己的Web开发技能,创造出更优秀的用户体验...