vue之axios基本使用

文章目录

  • [1. axios 网络请求库](#1. axios 网络请求库)
  • [2. axios+vue](#2. axios+vue)

1. axios 网络请求库



html 复制代码
<body>
<input type="button" value="get请求" class="get">
<input type="button" value="post请求" class="post">
<!-- 官网提供的 axios 在线地址 -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    /*
        接口1:随机笑话
        请求地址:https://autumnfish.cn/api/joke/list
        请求方法:get
        请求参数:num(笑话条数,数字)
        响应内容:随机笑话
    */
    document.querySelector(".get").onclick = function () {
        axios.get("https://autumnfish.cn/api/joke/list?num=3")
            //测试错误触发事件
            // axios.get("https://autumnfish.cn/api/joke/list1234?num=6")
            .then(function (response) {
                console.log(response);
            },function(err){
                console.log(err);
            })
    }
    /*
         接口2:用户注册
         请求地址:https://autumnfish.cn/api/user/reg
         请求方法:post
         请求参数:username(用户名,字符串)
         响应内容:注册成功或失败
     */
    document.querySelector(".post").onclick = function () {
        axios.post("https://autumnfish.cn/api/user/reg",{username:"雲兮动人"})
            .then(function(response){
                console.log(response);
            },function (err) {
                console.log(err);
            })
    }

</script>
</body>
  • get请求结果,获取到三条笑话结果
  • get请求,指定不存在的接口,返回错误信息
  • post请求,指定 username
  • 再次注册时,发现已经存在同名,不能注册了
  • 把post请求地址api改成不存在的,结果返回错误,跟get请求的回调函数一样返回错误的信息
  • 在控制台的Network 下查看是不是基于Ajax ,点击get、post请求,查看

2. axios+vue




  • 案例:获取笑话
html 复制代码
<body>
<div id="app">
    <input type="button" value="获取笑话" @click="getJoke">
    <p> {{ joke }}</p>
</div>
<!-- 官网提供的 axios 在线地址 -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    /*
        接口:随机获取一条笑话
        请求地址:https://autumnfish.cn/api/joke
        请求方法:get
        请求参数:无
        响应内容:随机笑话
    */
    var app = new Vue({
        el:"#app",
        data:{
            joke:"很好笑的笑话"
        },
        methods: {
            getJoke:function(){
                // console.log(this.joke);
                var that = this;
                axios.get("https://autumnfish.cn/api/joke").then(function(response){
                    //console.log(response)
                     console.log(response.data);
                    // console.log(this.joke);
                    that.joke = response.data;
                },function (err) {  })
            }
        },
    })
</script>
</body>
  • 点击按钮后,就会改变一次获取到笑话的内容

相关推荐
奕辰杰1 小时前
关于npm前端项目编译时栈溢出 Maximum call stack size exceeded的处理方案
前端·npm·node.js
JiaLin_Denny3 小时前
如何在NPM上发布自己的React组件(包)
前端·react.js·npm·npm包·npm发布组件·npm发布包
_Kayo_3 小时前
VUE2 学习笔记14 nextTick、过渡与动画
javascript·笔记·学习
路光.4 小时前
触发事件,按钮loading状态,封装hooks
前端·typescript·vue3hooks
我爱996!4 小时前
SpringMVC——响应
java·服务器·前端
咔咔一顿操作5 小时前
Vue 3 入门教程7 - 状态管理工具 Pinia
前端·javascript·vue.js·vue3
kk爱闹5 小时前
用el-table实现的可编辑的动态表格组件
前端·vue.js
漂流瓶jz6 小时前
JavaScript语法树简介:AST/CST/词法/语法分析/ESTree/生成工具
前端·javascript·编译原理
换日线°6 小时前
css 不错的按钮动画
前端·css·微信小程序