前端基础知识之手写AJAX

126 阅读1分钟

今天我们来总结一些如何手写 AJAX。

首先,我们要明确什么是 AJAX,其全称是 Asynchronous JavaScript and XML,翻译成中文就是指异步的 JS 以及 XML。因为现在使用 XML 的人已经很少了,我们也可以大致理解为 JSON。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

接下来,我们来手写一个简单的 AJAX:

var request = new XMLHttpRequest()

request.open('GET','/xxx')
//request.onload = ()=>{
	//console.log('得到内容')
//}
//request.onerror = ()=>{}

request.onreadystatechange = function(){
	if(request.readyState === 4){
		if(requset.status >= 200 && request.status < 300 || requset.status === 304){
			success(request)
		}else{
			fail(request)
		}
	}
}


request.send('{"name": "frank"}')//GET 没有消息体

其中 onload 方法通常不推荐,面试官可能更喜欢使用 onreadystatechange 方法来监听请求是否成功。其中需要注意的有几个点:

  1. 首先是 readyState 的数值,如果是等于4,则代表下载完毕,具体可以查看 MDN 的文档
  2. 状态码在 200 到 300 之间或者 304 表示请求成功,其他可以参考 MDN 文档
  3. 在成功时调用 success 函数,失败时调用 fail 函数。

©本总结教程版权归作者所有,转载需注明出处