前言

前面学习了vue的本地应用操作,本文将会学习Vue的网络应用,介绍axios并且学习axios和Vue的结合使用

一、axios是什么?

1.定义

Axios是一个基于promise 的 HTTP 库,可以用在浏览器和 node.js中

2.原理

axios本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范。

3、主要特点

1、从 node.js 创建 http 请求

2、支持 Promise API

3、拦截请求和响应

4、转换请求和响应数据

5、取消请求

6、自动转换JSON数据

7、客户端支持防御XSRF要特点

8、从浏览器创建 XMLHttpRequests

二、axios的应用

1、axios必须先导入才可以使用

2、使用get或Post方法即可发送对应的请求

3、then方法中的回调函数会在请求成功或失败时触发

4、通过回调函数的形参可以获取响应内容,或错误信息

代码解析

1、axios通过get或者post发送请求

2、axios.get()中间填写获取的请求地址,后面跟上请求的参数使用?连接

3、.then()代表的是成功获取到后,如何处理的事件和获取失败,该如何处理的事件

两个事件中间用逗号隔开

<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")
            .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>

效果展示:

按下按钮后,会在控制台里,将回应值全部打印出来

三、axios vue的应用

1、axios回调函数中的this已经改变,无法访问到data中数据

2、把this保存起来,回调函数中直接使用保存的this即可‘

3、和本地应用的最大区别就是改变了数据来源

代码展示:

1、这次将axios和vue相结合,改变了数据来源

2、可以将axios在网络上获取的信息,通过vue展示出来

3、axios的操作跟上面没区别,就是放在vue的一个事件中。

4、因为返回的回应值很多,我们仅仅只想找到我们想要的。我们就可以直接写。
例如:response.data 我们可以直接下面套着写

    <div id="app">
        <input type="button" value="获取笑话" @click="getJoke">
        <p>{{joke}}</p>
    </div>

    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <!--官网提供的axios在线地址-->
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>
        /*
         接口1:随机笑话
         请求地址:https://autumnfish.cn/api/joke/list
         请求方法:get
         请求参数:num(笑话条数,数字)
         响应内容:随机笑话
     */
        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;   /*这里不能使用this.joke,因为对象已经发生改变*/
                    },function (err){ })
                }
            },
        })
    </script>

效果展示:

1、当按下按钮时,就触发事件。

2、因为vue是基于数据开发,数据发生改变,页面上的显示也会随之改变

3、当触发事件后,我们将axios获取的数据赋值给vue中的变量,所以当变量改变,页面上的笑话也会改变。

总结

本文介绍了axios和vue的简单整合实验,大家可以亲自实践操作一下!!

到此这篇关于axios和vue整合操作的文章就介绍到这了,更多相关axios vue整合操作内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

一文了解axios和vue的整合操作的更多相关文章

  1. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  2. vue自定义加载指令v-loading占位图指令v-showimg

    这篇文章主要为大家介绍了vue自定义加载指令和v-loading占位图指令v-showimg的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. vue使用动画实现滚动表格效果

    这篇文章主要为大家详细介绍了vue使用动画实现滚动表格效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. 关于Vue 监控数组的问题

    这篇文章主要介绍了Vue 监控数组的示例,主要包括Vue 是如何追踪数据发生变化,Vue 如何更新数组以及为什么有些数组的数据变更不能被 Vue 监测到,对vue监控数组知识是面试比较常见的问题,感兴趣的朋友一起看看吧

  5. Vue子组件props从父组件接收数据并存入data

    这篇文章主要介绍了Vue子组件props从父组件接收数据并存入data的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  6. 解决axios:"timeout of 5000ms exceeded"超时的问题

    这篇文章主要介绍了解决axios:"timeout of 5000ms exceeded"超时的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Vue h函数的使用详解

    本文主要介绍了Vue h函数的使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  8. VUE响应式原理的实现详解

    这篇文章主要为大家详细介绍了VUE响应式原理的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

  9. vue+Element ui实现照片墙效果

    这篇文章主要为大家详细介绍了vue+Element ui实现照片墙效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. vue+elemet实现表格手动合并行列

    这篇文章主要为大家详细介绍了vue+elemet实现表格手动合并行列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部