JavaScript - AJAX使用与封装

前置知识

HTTP协议基础

* 请求响应概念
* response 状态码概念

Web运作原理:一次HTTP请求对应一个页面。

AJAX

AJAX 是 Asynchronous JavaScript And XML 的缩写, 本意是使用JavaScript来执行异步的网络请求.

使用AJAX

1
2
3
4
5
6
7
8
9
10
11
12
13
const request = new XMLHttpRequest()

request.onreadystatechange = () => {
// 接收数据成功且返回200状态码
if(request.readyState === 4 && request.status === 200){
// success 逻辑
}else{
// fail 逻辑
}
}

request.open('GET', '/api/page1')
request.send()

目的

通过浏览器提供的HttpRequest API,达到编写JavaScript代码主动请求服务器资源的目的.

在浏览器端通过AJAX可以实现动态加载HTML,XML,CSS,JavaScript, JSON.

封装

封装Ajax

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const ajax = (method, url, data, success, fail)=>{
let request = new XMLHttpRequest()
request.onreadystatechange = function(){
if(request.readyState === 4){
if(request.status >=200 && request.status < 300 || request.states === 304){
return success(request);
}else{
return fail(request)
}
}
};
request.open(method, url);
request.send(method === 'POST' ? JSON.stringify(data): null);
}

JavaScript - AJAX使用与封装
http://example.com/2023/01/08/JavaScript - AJAX使用与封装/
作者
Ray
发布于
2023年1月8日
许可协议