1.原生发起ajax
1.1概念:
说明:XMLHttpRequest是 JavaScript 的内置对象,用于在Web应用程序中向服务器发送HTTP请求和接收响应。通过XMLHttpRequest对象,可以实现异步加载数据,无需刷新整个页面即可更新部分内容。常用的HTTP请求方法有GET、POST等。
1.2源码解读
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>原生发起ajax请求</title>
</head>
<body>
<h1>原生发起ajax方法</h1>
</body>
</html>
<script>
// 创建一个XMLHttpRequest对象
const XML=new XMLHttpRequest()
// 设置请求方法
XML.open("GET","./index.json")
// 发送请求
XML.send()
// 这是一个XMLHttpRequest对象的事件处理函数,
//当它的readyState状态变为4(即数据传输完成)
//并且HTTP状态码为200时(即请求成功),打印出Response的响应内容。
//其中XML是XMLHttpRequest对象的实例。
XML.onreadystatechange=function(){
if(this.readyState==4&&this.status==200){
console.log(XML.response);
}
}
</script>
1.3前台
2.axios发起ajax
2.1概念
说明:Axios是一个基于Promise的HTTP客户端,用于浏览器和node.js中向服务器发送HTTP请求。它提供了简单易用的API,支持各种请求方式,包括GET、POST、PUT、DELETE等,并且能够自动转换请求和响应数据格式。
2.2源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>axios发起ajax</title>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<script>
axios({
// 请求方式
method: "GET",
// 请求路径
url: "./index.json",
// 成功回调
})
.then((res) => {
console.log(res.data);
// 失败回调
})
.catch((err) => {
console.log(err);
});
</script>
</body>
</html>
2.3前台
说明:axios会将json数据格式自动转变成js对象
3.juquery封装方法发起ajax
3.1概念
说明:在jQuery中,使用$.ajax()方法可以发送HTTP请求。该方法提供了丰富的配置选项,可以实现各种类型的请求,如GET、POST、PUT、DELETE等,并能够自动处理请求和响应数据格式。
3.2源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script>
$.ajax({
// 请求类型
type:"GET",
// 请求路径
url:"./index.json",
// 请求数据
data:{
},
//成功回调
success:res=>{
console.log(res);
},
// 失败回调
error:err=>{
console.log(err);
}
})
</script>
</body>
</html>
3.3 前台
4.fetch发起ajax
4.1概念
说明:Fetch是一种新的Web API,用于在Web浏览器中发起HTTP请求。它是一种用于代替XMLHttpRequest的现代化方式,使用Promise来处理异步请求响应。Fetch API有很多优点,比如支持流式操作、更好的错误处理、更加简洁易懂的API以及默认支持CORS请求等。
4.2源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>fetch</title>
</head>
<body>
<script>
// 路径
fetch("./index.json", {
// 方法
method: "GET",
})
.then((response) => response.json()) //换行后不要忘记return
.then((res) => {
console.log(res);
})
.catch((error) => console.error(error));
</script>
</body>
</html>
4.3前台