在没有jQuery的情况下进行AJAX调用,可以使用原生的JavaScript中的XMLHttpRequest
对象或者现代浏览器支持的fetch
API。以下是两种方法的详细介绍和示例代码。
XMLHttpRequest
XMLHttpRequest
是一个浏览器内置的对象,可以用来发送HTTP请求并与服务器进行交互。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
console.log(response);
}
};
xhr.send();
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
,其中第一个参数是请求方法(GET、POST等),第二个参数是URL,第三个参数表示是否异步。xhr.onreadystatechange = function () {...};
,当请求状态改变时,会触发这个回调函数。xhr.send();
fetch
APIfetch
是一个现代的、基于Promise的API,用于进行网络请求。
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => {
console.error('There has been a problem with your fetch operation:', error);
});
fetch('https://api.example.com/data')
.then(response => {...})
,检查响应是否成功,并解析JSON数据。.then(data => {...})
,处理解析后的数据。.catch(error => {...})
,捕获并处理请求过程中可能出现的错误。XMLHttpRequest
:fetch
API:通过以上方法,可以在没有jQuery的情况下进行AJAX调用,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云