ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Javaweb之Axios的具体剖析
[打印本页]
作者:
数据人与超自然意识
时间:
2024-8-5 04:11
标题:
Javaweb之Axios的具体剖析
1.3.3 哀求方法的别名
Axios还针对差别的哀求,提供了别名方式的api,具体如下:
方法形貌axios.get(url [, config])发送get哀求axios.delete(url [, config])发送delete哀求axios.post(url [, data[, config]])发送post哀求axios.put(url [, data[, config]])发送put哀求 我们目前只关注get和post哀求,所以在上述的入门案例中,我们可以将get哀求代码改写成如下:
axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
console.log(result.data);
})
复制代码
post哀求改写成如下:
axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteById","id=1").then(result => {
console.log(result.data);
})
复制代码
1.3.4 案例
需求:基于Vue及Axios完成数据的动态加载展示,如下图所示
其中数据是来自于配景程序的,地址是:http://yapi.smart-xwork.cn/mock/169327/emp/list
分析:
前端首先是一张表格,我们缺少数据,而提供数据的地址已经有了,所以意味这我们必要利用Ajax哀求获取配景的数据。但是Ajax哀求什么时候发送呢?页面的数据应该是页面加载完成,主动发送哀求,展示数据,所以我们必要借助vue的mounted钩子函数。那么拿到数据了,我们该怎么将数据表现表格中呢?这里就得借助v-for指令来遍历数据,展示数据。
步调:
首先创建文件,提前准备基础代码,包括表格以及vue.js和axios.js文件的引入
我们必要在vue的mounted钩子函数中发送ajax哀求,获取数据
拿到数据,数据必要绑定给vue的data属性
在<tr>标签上通过v-for指令遍历数据,展示数据
代码实现:
首先创建文件,提前准备基础代码,包括表格以及vue.js和axios.js文件的引入
提供初始代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax-Axios-案例</title>
<script src="js/axios-0.18.0.js"></script>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<table border="1" cellspacing="0" width="60%">
<tr>
<th>编号</th>
<th>姓名</th>
<th>图像</th>
<th>性别</th>
<th>职位</th>
<th>入职日期</th>
<th>最后操作时间</th>
</tr>
<tr align="center" >
<td>1</td>
<td>Tom</td>
<td>
<img src="" width="70px" height="50px">
</td>
<td>
<span>男</span>
<!-- <span>女</span>-->
</td>
<td>班主任</td>
<td>2009-08-09</td>
<td>2009-08-09 12:00:00</td>
</tr>
</table>
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
}
});
</script>
</html>
复制代码
在vue的mounted钩子函数,编写Ajax哀求,哀求数据,代码如下:
mounted () {
//发送异步请求,加载数据
axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
})
}
复制代码
ajax哀求的数据我们应该绑定给vue的data属性,之后才能举行数据绑定到视图;而且浏览器打开配景地址,数据返回格式如下图所示:
因为服务器相应的json中的data属性才是我们必要展示的信息,所以我们应该将员工列表信息赋值给vue的data属性,代码如下:
//发送异步请求,加载数据
axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
this.emps = result.data.data;
})
复制代码
其中,data中生命emps变量,代码如下:
data: {
emps:[]
},
复制代码
在<tr>标签上通过v-for指令遍历数据,展示数据,其中必要注意的是图片的值,必要利用vue的属性绑定,男女的展示必要利用条件判断,其代码如下:
<tr align="center" v-for="(emp,index) in emps">
<td>{{index + 1}}</td>
<td>{{emp.name}}</td>
<td>
<img :src="emp.image" width="70px" height="50px">
</td>
<td>
<span v-if="emp.gender == 1">男</span>
<span v-if="emp.gender == 2">女</span>
</td>
<td>{{emp.job}}</td>
<td>{{emp.entrydate}}</td>
<td>{{emp.updatetime}}</td>
</tr>
复制代码
完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax-Axios-案例</title>
<script src="js/axios-0.18.0.js"></script>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<table border="1" cellspacing="0" width="60%">
<tr>
<th>编号</th>
<th>姓名</th>
<th>图像</th>
<th>性别</th>
<th>职位</th>
<th>入职日期</th>
<th>最后操作时间</th>
</tr>
<tr align="center" v-for="(emp,index) in emps">
<td>{{index + 1}}</td>
<td>{{emp.name}}</td>
<td>
<img :src="emp.image" width="70px" height="50px">
</td>
<td>
<span v-if="emp.gender == 1">男</span>
<span v-if="emp.gender == 2">女</span>
</td>
<td>{{emp.job}}</td>
<td>{{emp.entrydate}}</td>
<td>{{emp.updatetime}}</td>
</tr>
</table>
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
emps:[]
},
mounted () {
//发送异步请求,加载数据
axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
console.log(result.data);
this.emps = result.data.data;
})
}
});
</script>
</html>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4