1、简介
axios是一个专门用于发送ajax请求的库。
【特点】:
- 支持客户端发送ajax请求
- 支持服务端node.js发送请求
- 支持Promise请求
- 支持请求和响应拦截器
- 自动转换JSON数据
2、基本语法
axios({
method: '请求方式',
url: '请求地址',
data: {
xxx: xxx,
},
params: {
xxx: xxx
}
}).then(res => {
console.log(res.data)
}).catch(err => {
console.log(err)
})
3、axios基本使用-获取数据
【代码演示】:
<template>
<div>
<h1>查询所有图书</h1>
<button @click="selectAll">查询-结果-控制台</button>
</div>
</template>
<script>
import axios from "axios";
export default {
methods: {
selectAll() {
axios({
url: " http://123.57.109.30:3006/api/getbooks",
method: "GET",
})
.then((res) => {
console.log(res.data);
})
.catch((err) => {
console.log(err);
});
},
},
};
</script>
<style>
</style>
【控制台效果】:
4、axios基本使用-传参
【代码演示】:
<template>
<div>
<h1>查询下列图书</h1>
<input type="text" v-model="bookname" placeholder="请输入要查询的书名" />
<button @click="selectOne">查询-结果-控制台</button>
</div>
</template>
<script>
import axios from "axios";
export default {
data() {
return {
bookname: "",
};
},
methods: {
selectOne() {
axios({
url: " http://123.57.109.30:3006/api/getbooks",
method: "GET",
params: {
bookname: this.bookname,
},
})
.then((res) => {
console.log(res.data);
})
.catch((err) => {
console.log(err);
});
},
},
};
</script>
<style>
</style>
【控制台效果】:
5、axios基本使用-Post传参
【代码演示】:
<template>
<div>
<h1>查询下列图书</h1>
<input type="text" v-model="obj.bookname" placeholder="请输入书名" />
<input type="text" v-model="obj.bookauther" placeholder="请输入作者" />
<input type="text" v-model="obj.booksub" placeholder="请输入出版社" />
<button @click="addBook">查询-结果-控制台</button>
</div>
</template>
<script>
import axios from "axios";
export default {
data() {
return {
obj: {
bookname: "",
bookauther: "",
booksub: "",
},
};
},
methods: {
addBook() {
axios({
url: " http://123.57.109.30:3006/api/addbook",
method: "POST",
data: {
appkey: "7250d3eb-18e1-41bc-8bb2-11483665535a",
bookname: this.obj.bookname,
author: this.obj.bookauther,
publisher: this.obj.booksub,
},
})
.then((res) => {
console.log(res.data);
})
.catch((err) => {
console.log(err);
});
},
},
};
</script>
<style>
</style>
【控制台效果】:
6、axios在vue中全局配置使用
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'
axios.defaults.baseURL = "http://123.57.109.30:3006"
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
|