原生ajax请求完整兼容的js
时间: 2023-11-01 08:06:44 浏览: 74
使用原生js封装的ajax实例(兼容jsonp)
以下是一个简单的原生 Ajax 请求函数,兼容大多数浏览器:
```javascript
function ajaxRequest(method, url, data, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
callback(xhr.responseText);
} else {
console.error('Error: ' + xhr.status);
}
}
};
xhr.open(method, url, true);
if (method === 'POST') {
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
}
xhr.send(data);
}
```
使用示例:
```javascript
var data = 'username=' + encodeURIComponent('foo') + '&password=' + encodeURIComponent('bar');
ajaxRequest('POST', '/login', data, function(responseText) {
console.log(responseText);
});
```
其中,`method` 是请求方法,可以是 `'GET'` 或 `'POST'`;`url` 是请求地址;`data` 是请求数据,如果是 POST 请求,则需要将数据编码为 URL 格式;`callback` 是请求成功后的回调函数,传入的参数为响应文本。在回调函数中,可以根据需要对响应进行处理。
阅读全文