AjaxXMLHttpRequest

// 定义一个全局的XMLHttpRequest对象
var xmlHttpRequest;

function verify() {

var userName = document.getElementById("userName").value;

// 创建XMLHttpRequst对象
// 需要这对IE核其他类型的浏览器建立这个对象的不同方法写不同的代码
if (window.XMLHttpRequest) {
// 针对FireFox,Mozilla,Opera,Safari,IE7,IE8
xmlHttpRequest = new XMLHttpRequest();
// 针对某些特定版本的Mozilla浏览器的BUG进行修正
try {
if (xmlHttpRequest.overrideMimeType()) {
xmlHttpRequest.overrideMimeType("text/xml");
}
} catch (e) {
}
} else if (window.ActiveXObject) {
// 针对IE6,IE5.5,IE5
// 两个可以用于创建XMLHTTPRquest对象的控件名称,保存在一个js的数组中
// 排在前面的版本比价新
var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < activexName.length; i++) {
try {
// 取出一个控件名进行创建,如果创建成功就终止循环
// 如果创建失败,会抛出异常,然后可以继续循环,继续尝试创建
xmlHttpRequest = new ActiveXObject(activexName[i]);
break;
} catch (e) {
}
}
}
// 确认XMLHttpReques对象创建成功
if (!xmlHttpRequest) {
alert("XMLHttpRequest对象创建失败!!");
return;
} else {
// 2.注册回调函数
// 注册毁掉函数时,只需要函数名不需要加括号
// 我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这是错误的
xmlHttpRequest.onreadystatechange = callback;

// 3.设置连接信息
// 第一个参数表示http的请求方式,支持所有的饿http的请求方式,主要使用get核post
// 第二个参数表示请求的url路径
// 第三个参数表示采用同步还是异步,true表示异步

//xmlHttpRequest.open("GET", "AJAX?name=" + userName, true);

//POST方式请求的代码
xmlHttpRequest.open("POST","AJAX",true);

//POST方法需要自己设置http请求头
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

// 4发送数据,开始与服务器端交互
// 同步方式下,send这句话会在服务器端数据回来之后执行
// 异步方式下,send这句话会立即完成执行

//get方式的send方法参数为空
//xmlHttpRequest.send(null);

//post方式的send方法参数为你要传递的url参数
xmlHttpRequest.send("name="+userName);
}

}
// 5.回调函数
function callback() {
// 判断对象的状态是否交互完成
if (xmlHttpRequest.readyState == 4) {
// 判读http的交互是否成功
if (xmlHttpRequest.status == 200) {
// 获取服务器端的返回数据
var responseText = xmlHttpRequest.responseText;
// 将数据显示在页面上
// 通过dom方式找到dom对应的节点
var divResult = document.getElementById("result");
divResult.innerHTML = responseText;
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值