这段代码定义了一个名为ajaxRequest
的函数,接收三个参数:URL、HTTP方法(可选)和要发送的数据。该函数会创建一个XMLHttpRequest对象并进行相应配置,然后根据传入的参数发起网络请求。最后通过Promise来处理请求成功或失败时的逻辑。
function ajaxRequest(url, method, data) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
// 设置请求参数
xhr.open(method || 'GET', url);
if (data && typeof data === 'object') {
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));
} else {
xhr.send();
}
// 处理返回结果
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 400) {
resolve(xhr.responseText);
} else {
reject({ status: xhr.status, message: xhr.statusText });
}
};
xhr.onerror = function() {
reject({ status: -1, message: 'Network Error' });
};
});
}
// 使用示例
const url = '/api/example';
const method = 'POST';
const data = { key: value };
ajaxRequest(url, method, data).then(result => {
console.log(result);
}).catch(error => {
console.error(error);
});