js封装一个request
时间: 2024-06-08 21:08:18 浏览: 55
好的,以下是一个简单的封装了XMLHttpRequest对象的request函数:
```javascript
function request(method, url, data, successCallback, errorCallback) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
successCallback(xhr.responseText);
} else {
errorCallback(xhr.statusText);
}
}
};
xhr.onerror = function() {
errorCallback(xhr.statusText);
};
xhr.send(data);
}
```
使用示例:
```javascript
request('GET', 'http://example.com/api/data', null, function(response) {
console.log('请求成功:' + response);
}, function(error) {
console.log('请求失败:' + error);
});
```
这个函数接受五个参数:
- `method`:请求方法,如 `"GET"` 或 `"POST"` 等。
- `url`:请求地址。
- `data`:请求数据,可以是字符串或 FormData 对象等。
- `successCallback`:请求成功后的回调函数,接受一个参数(响应文本)。
- `errorCallback`:请求失败后的回调函数,接受一个参数(错误信息)。
当请求完成后,会调用 successCallback 或 errorCallback,分别传入响应文本或错误信息。如果请求过程中出现错误,也会调用 errorCallback。
阅读全文