帮我用js封装一个ajax
好的,以下是一个简单的封装了ajax的函数:
function ajax(url, method, data, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
callback(xhr.responseText);
} else {
console.error('Error: ' + xhr.status);
}
}
};
xhr.open(method, url, true);
if (method === 'POST') {
xhr.setRequestHeader('Content-Type', 'application/json');
}
xhr.send(data);
}
这个函数接受四个参数:请求的URL、请求方法、请求数据、回调函数。
在函数内部,我们创建了一个XMLHttpRequest对象,并在其onreadystatechange事件处理函数中处理响应。如果响应状态为4(即已完成),则检查响应状态码。如果状态码为200,则调用回调函数并将响应文本作为参数传递给它;否则,我们将在控制台中记录一个错误。
我们使用open()方法打开请求,并根据请求方法设置Content-Type。最后,我们使用send()方法发送请求。
使用示例:
ajax('http://example.com/api/data', 'POST', JSON.stringify({username: 'John', password: '123'}), function(response) {
console.log(response);
});
这个例子将向'http://example.com/api/data'发送一个POST请求,请求体为{username: 'John', password: '123'},并在响应完成后将响应文本输出到控制台
原文地址: https://www.cveoy.top/t/topic/eFCi 著作权归作者所有。请勿转载和采集!