js封装ajax 实现GET请求和POST请求
以下是一个简单的JavaScript函数,用于封装AJAX GET和POST请求的实现:
function ajax(method, url, data, callback) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
if (method === 'POST') {
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
}
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
callback(xhr.responseText);
}
};
if (method === 'GET') {
xhr.send();
} else if (method === 'POST') {
xhr.send(data);
}
}
// 使用方法:
// GET请求
ajax('GET', 'https://api.example.com/data', null, function(response) {
console.log(response);
});
// POST请求
ajax('POST', 'https://api.example.com/data', 'key1=value1&key2=value2', function(response) {
console.log(response);
});
这段代码定义了一个ajax
函数,它接受四个参数:method
(请求类型,'GET' 或 'POST'),url
(请求的URL),data
(如果是POST请求,发送的数据),以及callback
(请求成功完成时调用的函数)。函数内部创建了一个XMLHttpRequest
对象,设置了请求类型和回调函数,然后发送请求。如果是GET请求,则不需要发送数据;如果是POST请求,则需要设置请求头并发送数据。
评论已关闭