Ajax就是异步的JavaScript和XML
Ajax的作用
- 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据
- 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如搜索联想、用户名是否可用的检查等等
同步和异步:
原生Ajax(淘汰)
Ajax-Axios2
Axios入门
- 引入Axios的js文件
- 使用Axios发送请求,并获取响应结果
简化版本:
例子:
<!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.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<style>
table {
width: 60%;
border-spacing: 0; /* 设置表格单元格之间的间距为 0 */
}
th, td {
border: 1px solid black; /* 设置单元格边框 */
padding: 8px; /* 设置单元格内边距 */
text-align: center; /* 文本居中 */
}
</style>
</head>
<body>
<div id="app">
<table>
<tr>
<th>id</th>
<th>login</th>
<th>node_id</th>
<th>url</th>
<th>html_url</th>
<th>type</th>
</tr>
<tr v-for="(user) in emps">
<td>{{user.id}}</td>
<td>{{user.login}}</td>
<td>{{user.node_id}}</td>
<td>{{user.url}}</td>
<td>{{user.html_url}}</td>
<td>{{user.type}}</td>
</tr>
</table>
</div>
<script>
new Vue({
el: "#app",//vue接管区域
data: {
emps:[]
},
mounted(){
axios.get("https://api.github.com/users").then(result =>{
this.emps = result.data;
})
}
});
</script>
</body>
</html>
效果:
使用了 Vue.js 和 Axios 来创建一个简单的页面,从 GitHub API 获取用户信息并显示在表格中。
让我解释一下代码的运行过程:
- 在 HTML 部分,你定义了一个表格,其中有一个表头和一个用于显示员工信息的表格体。
- 在 Vue.js 部分,你创建了一个 Vue 实例,并将其绑定到 id 为 "app" 的 DOM 元素上。
- 在 data 属性中,你定义了一个名为 emps 的数组,用于存储从 GitHub API 获取的员工信息。
- 在 mounted 生命周期钩子中,当 Vue 实例挂载到 DOM 上时,会执行 axios.get 方法发起 GET 请求,获取 GitHub 用户信息。
- 当请求成功时,将结果中的数据(即 GitHub 用户信息)赋值给 emps 数组,然后 Vue 会自动将数据渲染到页面上。