原生JS实现AJAX ,并做封装

/**
* 用原生JS实现AJAX,并封装
* @param url 向服务器请求需要读取的文件名
* @param responseHandler 用来处理请求成功返回的文本responseText的一个函数
*/
function ajax (url,responseHandler) {
// 1、创建ajax对象
var xhr;
if (window.XMLHttpRequest) { //非IE6浏览器,是IE7及以上
xhr = new XMLHttpRequest();
}else{ //如果没有XMLHttpRequest,说明就是IE6浏览器
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //参数Microsoft.XMLHTTP 不区分大小写,写成microsoft.xmlhttp 也是可以的。不过按照习惯还是写成 Microsoft.XMLHTTP
}

// 2、连接服务器
//open(方法,文件名,异步传输)
//方法
//传输方式是get方式还是post方式。
//文件名
//告诉服务器要读哪个文件
//异步传输
//异步:多件事一件一件的做
//同步:多件事情一起进行
//但是js里面的同步、异步和现实里的同步、异步相反。
//同步:多件事一件一件的做
//异步:多件事情一起进行
//ajax天生是用来做异步的
xhr.open("GET",url,true); //异步方式

// 3、发送请求
xhr.send();

// 4、接收服务器返回内容,并处理
xhr.onreadystatechange = function(){
//xhr.readyState :查看浏览器和服务器进行到哪一步了。
//0->(未初始化):还没有调用 open() 方法。
//1->(载入):已调用 send() 方法,正在发送请求。
//2->(载入完成):send() 方法完成,已收到全部响应内容。
//3->(解析):正在解析响应内容。
//4->(完成):响应内容解析完成,客户端可以调用了。
if(xhr.readyState == 4 && xhr.status == 200){
alert("请求成功!");
responseHandler(xhr.responseText);
}else{
alert("请求失败!");
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值