原生js实现jq 的ajax
时间: 2023-10-18 14:05:51 浏览: 129
jQuery中的ajax方法可以使用原生JavaScript的XMLHttpRequest对象来实现。以下是一个简单的示例:
```javascript
function ajax(options) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
options.success && options.success(xhr.responseText, xhr.responseXML);
} else {
options.error && options.error(xhr.status);
}
}
};
xhr.open(options.type || 'GET', options.url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(options.data || null);
}
```
调用示例:
```javascript
ajax({
type: 'POST',
url: 'http://example.com/api',
data: {
name: 'John',
age: 30
},
success: function(responseText, responseXML) {
console.log(responseText);
},
error: function(status) {
console.log('Error status code: ' + status);
}
});
```
这个示例只是一个简单的演示,实际上还有很多细节需要考虑,比如跨域请求、请求超时等,需要根据具体情况进行适当的处理。
阅读全文