原生与封装Ajax
原生Ajax的写法如下:
// 创建一个新的 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 配置请求类型、URL 以及是否异步处理
xhr.open('GET', 'your-api-endpoint', true);
// 设置请求完成的回调函数
xhr.onreadystatechange = function () {
// 请求完成并且响应状态码为 200
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
// 处理请求成功的响应数据
console.log(xhr.responseText);
} else {
// 处理请求失败
console.error('AJAX Request failed');
}
}
};
// 发送请求
xhr.send();
对于封装Ajax,可以创建一个函数封装上述代码,例如:
function makeRequest(method, url, callback) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
callback(null, xhr.responseText);
} else {
callback(new Error('AJAX Request failed'), null);
}
}
};
xhr.send();
}
// 使用封装后的函数发送请求
makeRequest('GET', 'your-api-endpoint', function (error, responseText) {
if (error) {
console.error('Error:', error);
} else {
console.log('Success:', responseText);
}
});
封装Ajax的好处是可以减少重复代码,提高代码的可读性和可维护性。封装函数makeRequest
接受请求方法、URL 和回调函数作为参数,并处理请求的异步性。
评论已关闭