总结54 Vue中的异步请求插件<axios>应用

超级注意:将响应数据赋值给elementUI标签

如果你要让前端显示你所获取到的响应数据,那么必须要用箭头函数,否则this会被视为是window对象

在这里插入图片描述

概述

我之前说过,目前的开发项目中,vue的异步请求技术逐渐取代了jquery的异步请求技术
而vue的异步请求技术是基于一个插件实现的,名字叫做axios
axios中的异步请求语法分为config格式语法和简单格式语法.这其实跟jquery的异步请求语法分类有点像.这两种异步请求语法他们在实际的应用中,并无区别.

准备一:下载并导入axios插件

导入不用我说了吧?
就直接附上axios的js插件了.
链接: https://pan.baidu.com/s/19hRxKV4iH74xdrgHFfx1JQ
提取码: 7rt1

准备二:在web层定义跨域请求处理

所谓跨域请求,就是你所异步请求的web目标不在页面所属的项目中,或者不属于当前页面的域名之下.
如果出现这种情况,我们就需要在web目标定义跨域请求规则.
格式:@CrossOrigin(origins = “域名”)
如果域名为星号’*’,则代表允许所有跨域请求.
在这里插入图片描述

准备三:在web层规定列表(用于post)

如果我们的异步请求是post方式,则需要在web层中方法的形参处通过RequestBody注解来规定所要接受的形参列表.
否则,web层接收到的post请求数据将为null.
关于RequestBody注解的作用,看之前的这篇文章:https://blog.csdn.net/chinatopno1/article/details/105130816
在这里插入图片描述

语法格式一:config格式

get异步请求

格式:

 var 自定义vue对象名 = new Vue({
        el:"#指定目标div标签的id",

        methods:{
            自定义事件之函数方法(){
                axios({
                url:"url地址",
                method:"get",
                params:{
                    //此处要定义提交的数据键值对
                    欲提交键值一:对应值,
					欲提交键值二:对应值

                },
                 responseType:"后台所返回的相应类型,默认为json"

                }).then(function (接收响应信息的结果) {//如果请求成功,则运行then方法
                   //函数方法体
                }).catch(function () {//如果请求失败,则运行catch方法
                   //函数方法体
                })

            }
        }



    });

列如:

 var app = new Vue({

        el:"#divid",
        created(){
            axios({

                url:"1.vue入门.html",
                method:"get",
                params:{
                    username:"zhanfgsan",
                    password:123


                },
                responseType:"json"

            }).then(function (result) {//如果请求成功
            alert("............");
                alert(result.data);
            }).catch(function (erro) {//如果请求失败
            alert("erro");
            })



        }



    });

post异步请求

格式:

 var 自定义vue对象名 = new Vue({
        el:"#指定目标div标签的id",

        methods:{
            自定义事件之函数方法(){
                axios({
                url:"url地址",
                method:"post",
 				data:{
                    //此处要定义提交的数据键值对
                    欲提交键值一:对应值,
					欲提交键值二:对应值
                },
               responseType:"后台所返回的相应类型,默认为json"

                }).then(function (接收响应信息的结果) {//如果请求成功,则运行then方法
                   //函数方法体
                }).catch(function () {//如果请求失败,则运行catch方法
                   //函数方法体
                })

            }
        }



    });

列如:

<script>
    var configpost = new Vue({
        el:"#configpost",

        methods:{
            configajax_post(){
                axios({

                    url:"1.vue入门.html",
                    method:"post",
                    data:{
                        //定义要相应的参数
                        username:"12121",
                        password:12121,
                    }

                }).then(function (result) {//如果请求成功
                    alert("............");
                    alert(result.data);
                }).catch(function (erro) {//如果请求失败
                    alert("erro");
                })

            }
        }



    });



</script>

语法格式二:简单格式

get异步请求

格式:

 var 自定义vue对象名 = new Vue({
        el:"#指定目标div标签的id",

        methods:{
            自定义事件之函数方法(){

                .get("url",{
                   //定义params,在里面定义请求参数
                    params:{
                    欲提交键值一:对应值,
					欲提交键值二:对应值,
                    },
                    //设置前端返回过来的响应类型
                    responseType:"自定义响应类型"//在get方式下,你必须指定一个相应类型

                })
                .then(function (接收响应信息的结果){{//如果请求成功
             		//函数方法体
                 })
                .catch(function () {//如果请求失败
                    //函数方法体
                });

            }
        }



    });

列如:

var bpp = new Vue({
    el:"#two",
    methods:{
        ajax_get(){
            axios.get("1.vue入门.html",{
                   //定义params,在里面定义请求参数
                    params:{
                        name:"test",
                        uid:1,
                    },
                    //设置前端返回过来的响应类型
                    responseType:"json"

                })
                .then(function (接收响应信息的结果){
                alert(result.data);
                 })
                .catch(function () {
                    alert("请求失败");
                });
        },

    },


});

post异步请求

格式:

 var 自定义vue对象名 = new Vue({
        el:"#指定目标div标签的id",

        methods:{
            自定义事件之函数方法(){
     		axios.post("url",{
                  欲提交键值一:对应值,
				  欲提交键值二:对应值,
            },
            {
                responseType: '相应类型'//  在post请求下,如果后端返回的响应类型为json类型,你可以省略大括号{resopnseType:"json"}这行代码,即:post请求下,默认响应类型为json
            } )
                .then(function (接收响应信息的结果) {//如果请求成功
                  //方法函数体
                })
                .catch(function () {//如果请求失败
                  //方法函数体
                })


            }
        }



    });

列如:

    var cpp = new Vue({

       el:"#three",
       methods: {
        ajax_post(){
            axios.post("1.vue入门.html",{
                name:"wangwu",
                password:"123",
            },
            {
                responseType: 'json'//  在post请求下,如果后端返回的响应类型为json类型,你可以省略大括号{resopnseType:"json"}这行代码,即:post请求下,默认响应类型为json
            } )
                .then(function (result) {
                    alert(result.data);
                })
                .catch(function () {
                    alert("post请求失败");
                })



        }

       }


    });

   

返回数据的获取

返回的数据,是被axios通过集合封装过的.
其中,data才是后端返回过来的真实数据.
在这里插入图片描述

注意:指定要提交的数据内容

无论是get方式还是post方式,你都可以不必在axios来定义要提交的参数.也就是说,你可以直接引用data键下的参数,来进行提交.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值