axios基本使用
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
- 使用get或post方法即可发送对应的请求
- then方法中的回调函数会在请求成功或失败时触发(请求成功时返回第一个回调函数,失败则返回第二个回调函数)
- 通过回调函数的形参可以获取响应内容或错误信息
示例:
document.querySelector(".get").onclick = function() {
axios.get("https://autumnfish.cn/api/joke/list?num=3").then(function(response) {
console.log(response);
}, function(err) {
console.log(err);
})
}
document.querySelector(".post").onclick = function() {
axios.post("https://autumnfish.cn/api/user/reg", {
username: "Yung"
}).then(function(response) {
console.log(response);
}, function(err) {
console.log(err);
})
}
axios+vue
- axios回调函数中的this已经改变,无法访问到data中的数据
- 解决方法:把this保存起来,回调函数中直接使用保存的this即可
- 和本地应用的最大区别就是改变了数据来源
示例:
<div id="app">
<input type="button" value="获取笑话" @click="getJoke">
<p>{{ joke }}</p>
</div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var app = new Vue({
el: "#app",
data: {
joke: "很好笑的笑话"
},
methods: {
getJoke: function() {
var that = this;
axios.get("https://autumnfish.cn/api/joke").then(function(response) {
console.log(response.data);
that.joke = response.data;
}, function(err) {
console.log(err)
})
}
}
})