XMLHttpRequest简单封装一个请求函数
时间: 2024-05-02 20:20:18 浏览: 79
以下是一个简单的XMLHttpRequest请求函数的封装:
```javascript
function request(url, method, data, successCallback, errorCallback) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.onload = function() {
if (xhr.status === 200) {
successCallback(xhr.responseText);
} else {
errorCallback(xhr.statusText);
}
};
xhr.onerror = function() {
errorCallback(xhr.statusText);
};
if (method === 'POST') {
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));
} else {
xhr.send();
}
}
```
使用方法:
```javascript
// GET请求
request('https://example.com/api/data', 'GET', null, function(response) {
console.log(response);
}, function(error) {
console.error(error);
});
// POST请求
var data = { name: 'John', age: 30 };
request('https://example.com/api/user', 'POST', data, function(response) {
console.log(response);
}, function(error) {
console.error(error);
});
```
这个函数接受5个参数:
- `url`:请求的URL地址
- `method`:请求的HTTP方法(GET、POST等)
- `data`:POST请求的数据,可以是一个对象或字符串
- `successCallback`:请求成功时的回调函数,接受一个参数:响应数据
- `errorCallback`:请求失败时的回调函数,接受一个参数:错误信息
该函数创建一个XMLHttpRequest对象,设置请求的URL、HTTP方法和请求头信息,然后发送请求。在请求完成时,它会检查HTTP状态码并根据情况调用相应的回调函数。如果是POST请求,则还需要设置请求头信息和发送请求数据。
阅读全文