axios
axios经常与vue配合使用,实现ajax操作。axios的使用场景参考下图。
使用axios需要依赖axio.min.js.如果找不到资源可以参考https://blog.csdn.net/weixin_43274097/article/details/106570717。
下面示例axios的使用步骤。
(1)html文件导入依赖。
<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
(2)创建json.data文件手动构建json数据(非必要,实际开发是后端传数据)
{
"success":true,
"message":"成功",
"data":{
"items":[
{"name":"ez","age":9,"sex":"F"},
{"name":"az","age":81,"sex":"F"},
{"name":"wz","age":19,"sex":"M"}
]
},
"code":10000
}
(3)axios接受数据并处理。
完整的html文件代码如下。
<!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">
</div>
<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
<script>
new Vue({
el: '#app',
// 固定的结构
data: { // 定义变量和初始化数据
"userList":[]
},
created() { //在页面渲染前调用定义的方法
this.getUserList()
},
methods: { // 定义具体方法
getUserList(){
// 数据通过get()方法传递,axios.get("请求接口/文件路径")
axios.get("data.json")
.then( // 箭头表达式
response => {console.log(response)}
)
.catch( error => {})
}
}
})
</script>
</body>
</html>
在console中可以看到数据的具体的层级结构,而这写数据都可以在response中拿到。
代码稍微改造下(对拿到的数据进行具体的展示)。
<!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">
<thead>
<tr>
<td>name</td>
<td>age</td>
<td>sex</td>
</tr>
</thead>
<tbody>
<tr v-for="user in userList">
<td>{{user.name}}</td>
<td>{{user.age}}</td>
<td>{{user.sex}}</td>
</tr>
</tbody>
</table>
</div>
<script src="vue.min.js"></script>
<script src="axios.min.js"></script>
<script>
new Vue({
el: '#app',
// 固定的结构
data: { // 定义变量和初始化数据
"userList":[]
},
created() { //在页面渲染前调用定义的方法
this.getUserList()
},
methods: { // 定义具体方法
getUserList(){
// 数据通过get()方法传递,axios.get("请求接口/文件路径")
axios.get("data.json")
.then( // 箭头表达式, reponse名字也可以替换成其他,它包含我们通过axios拿到的数据
// response => {console.log(response)}
response =>{
this.userList=response.data.data.items
console.log(this.userList)}
)
.catch( error => {})
}
}
})
</script>
</body>
</html>
可以看到数据被成功拿到了(...
要点一点才会出现具体的数据)。
同时,页面中也展示了我们的数据,漂漂亮亮的。