帮我封装一个原生ajax
时间: 2024-01-16 07:03:13 浏览: 74
好的,下面是一个简单的原生ajax封装:
```
function ajax(method, url, data, successCallback, errorCallback) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE) {
if(xhr.status === 200) {
successCallback(xhr.response);
} else {
errorCallback(xhr.statusText);
}
}
};
xhr.send(JSON.stringify(data));
}
```
使用方法如下:
```
ajax('POST', 'http://example.com/api', {name: 'John', age: 30}, function(response) {
console.log(response);
}, function(error) {
console.error(error);
});
```
其中,方法参数说明如下:
- method: 请求方法,如GET、POST等
- url: 请求的URL地址
- data: 请求的数据,可以是对象或字符串
- successCallback: 请求成功后的回调函数,参数为响应数据
- errorCallback: 请求失败后的回调函数,参数为错误信息
注意,这个封装只适用于发送JSON格式的数据,如果需要发送其他类型的数据,可以根据需要修改Content-type头部和send方法的参数。
阅读全文