使用xmlhttprequest对象来进行AJAX的异步数据交互
2008-11-02 15:52
876 查看
五步法:
准备:使用dom的方式获取文本框中的值
document.getElementById("userName")是dom获取元素节点的一种方法, 一个元素
点对应HTML页面中的一个标签,如果<input>.value可以获取一个元素的value属性值。
1.创建XMLHttprequest对象
这是XMLHttprequest对象5步中最复杂的一步
需要针对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
var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < activexName.length; i++ ) {
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e) {
}
}
}
2 注册回调函数
注册回调函数时只需要函数名不要加括号
我们需要注册的是函数名称,如果加上括号,就把函数的返回值给注册上了,这是错误的
xmlhttp.onreadystatechange = callback;
3设置连接信息,使用open方法与服务器建立连接
第一个参数表示http的请求方式。支持所有http的请求方式。主要使用get和post
第二个参数表示请求的url地址,get方式的参数也在url中
第三个参数表示采用异步还是同步方式交互,true表示异步
GET方式请求的代码:
xmlhttp.open("GET","AJAXServer?name="+userName,true);
4 发送数据,开始和服务器端进行交互
同步方式下,send这句话会在服务器设置回来后才执行完
异步方式,send这句话执行晚会立即完成
GET方式:
xmlhttp.send(null);
5 接收响应数据,针对不同的响应状态进行处理
回调函数
function callback(){
//接收响应数据
//判断对象的状态是交互完成
if(xmlhttp.readyState==4){
//判断http的交互是否成功、
if(xmlhttp.status==200){
//获取服务器端返回的数据
//获取服务器端输出的纯文本数据
var responseText = xmlhttp.responseText;
//将数据显示在页面上
//通过dom方式找到div标签所对应的元素节点
var divNode = document.getElementById("result");
//设置元素节点中的html内容
divNode.innerHTML=responseText;
}else
{
alert("出错了");
}
}
}
准备:使用dom的方式获取文本框中的值
document.getElementById("userName")是dom获取元素节点的一种方法, 一个元素
点对应HTML页面中的一个标签,如果<input>.value可以获取一个元素的value属性值。
1.创建XMLHttprequest对象
这是XMLHttprequest对象5步中最复杂的一步
需要针对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
var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < activexName.length; i++ ) {
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e) {
}
}
}
2 注册回调函数
注册回调函数时只需要函数名不要加括号
我们需要注册的是函数名称,如果加上括号,就把函数的返回值给注册上了,这是错误的
xmlhttp.onreadystatechange = callback;
3设置连接信息,使用open方法与服务器建立连接
第一个参数表示http的请求方式。支持所有http的请求方式。主要使用get和post
第二个参数表示请求的url地址,get方式的参数也在url中
第三个参数表示采用异步还是同步方式交互,true表示异步
GET方式请求的代码:
xmlhttp.open("GET","AJAXServer?name="+userName,true);
4 发送数据,开始和服务器端进行交互
同步方式下,send这句话会在服务器设置回来后才执行完
异步方式,send这句话执行晚会立即完成
GET方式:
xmlhttp.send(null);
5 接收响应数据,针对不同的响应状态进行处理
回调函数
function callback(){
//接收响应数据
//判断对象的状态是交互完成
if(xmlhttp.readyState==4){
//判断http的交互是否成功、
if(xmlhttp.status==200){
//获取服务器端返回的数据
//获取服务器端输出的纯文本数据
var responseText = xmlhttp.responseText;
//将数据显示在页面上
//通过dom方式找到div标签所对应的元素节点
var divNode = document.getElementById("result");
//设置元素节点中的html内容
divNode.innerHTML=responseText;
}else
{
alert("出错了");
}
}
}
相关文章推荐
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- XMLHTTPRequest对象进行AJAX的异步数据交互
- Ajax学习(一),获得XMLHttpRequest对象,进行初步异步交互(jquery.javascript)
- 使用xmlHttprequest 发送异步请求(Ajax核心对象)
- 使用XMLHttprequest对象进行异步调用html页面的示例
- 使用xmlHttpRequest对象完成异步交互时,遇到的问题
- 运用Ajax的xmlHttpRequest对象异步与后台交互并提示交互结果
- 使用JS和Ajax发出异步请求,XmlHttpRequest对象详解
- Ajax 使用XMLHttpRequest对象发送数据和接收处理XML源代码
- JS中使用XMLHttpRequest对象进行Ajax操作
- Ajax中XMLHttpRequest对象的创建和servlet中数据的交互
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
- AJAX 简介 及 XMLHttpRequest对象的使用方法
- Ajax基础教程【2】使用XMLHttpRequest对象
- 使用 XMLHttpRequest 实现 Ajax 三:取回 Json 数据
- 关于JS中ajax的XMLHttpRequest对象的使用
- C语言构建WEB管理系统(六):使用XMLHttpRequest对象和服务端交换数据
- ajax-xmlHttprequest对象的对象创建和属性使用
- struts2中Ajax的操作实现及其核心对象XMLHttpRequest对象的使用
- AJAX——XMLHttpRequest对象的使用