封装一个ajax请求

这段代码定义了一个名为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);

});

你可能感兴趣的:(ajax,前端,javascript)