axios是独立于vue的一个项目,基于promise用于浏览器和node.js的http客户端
在浏览器中可以帮助我们完成 ajax请求的发送
在node.js中可以向远程接口发送请求
获取数据
这里是要提前引入这两个文件
一个vue.min.js一个axios.min.js
<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
这个是请求接口
var app = new Vue({
el: '#app',
data: {
memberList: []//数组
},
created() {
this.getList()
},
methods: {
getList(id) {
//vm = this
axios.get('http://localhost:8081/admin/ucenter/member')
.then(response => {
console.log(response)
this.memberList = response.data.data.items
})
.catch(error => {
console.log(error)
})
}
}
})
控制台查看输出
2、显示数据
<div id="app">
<table border="1">
<tr>
<td>id</td>
<td>姓名</td>
</tr>
<tr v-for="item in memberList">
<td>{{item.memberId}}</td>
<td>{{item.nickname}}</td>
</td>
</tr>
</table>
</div>
自己写的测试案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<table border="1">
<tr>
<td>姓名</td>
<td>年龄</td>
</tr>
<!-- 把数组用v-for遍历 -->
<tr v-for="item in memberList">
<td>{{item.name}}</td>
<td>{{item.age}}</td>
</td>
</tr>
</table>
</div>
<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
//在data定义变量和初始值
//定义变量,空数组
memberList: []//数组
},
created() {
//页面渲染之前执行
//调用定义的方法
this.getList()
},
methods: {
//编写具体的方法
//创建方法,查询所有用户数据
getList(id) {
//使用axios发送ajax请求
//axios提交方式("请求接口路径").then(箭头函数).catch(箭头函数)
// axios.get('http://localhost:8081/admin/ucenter/member')
axios.get("data.json")
.then(response => {
//控制台输出response
console.log(response)
//将response的返回值赋值给memberList
this.memberList = response.data.data.items
})//请求成功执行then方法
.catch(error => {
console.log(error)
})//请求失败执行catch方法
}
}
})
</script>
</body>
</html>
请求的json数据
data.json
{
"success":true,
"data":{
"items":[
{"name":"lucky","age":20},
{"name":"tom","age":40},
{"name":"jack","age":40}
]
}
}