随笔 - 172  文章 - 0  评论 - 0  阅读 - 11939

Axios异步通信

什么是Axios?

  Axios是一个开源的可以用在浏览器端和NodeJS的异步通信框架,主要作用

就是实现AJAX异步通信,其功能特点如下:

··从浏览器中创建XMLHttpRequests

··从node.js创建http请求

··支持Promise API [ JS中链式编程  ]

··拦截请求和响应

··转换请求数据和响应数据

··取消请求

··自动转换JSON数据

··客户端支持防御XSRF(跨站请求伪造)

 

为什么要使用Axios?

  由于Vue.js是一个视图层框架并且作者(尤雨溪)严格遵守SoC(关注度分离原则),所以

Vue.js并不包含Ajax通信功能,为了解决通信问题。作者单独开发了一个名为vue-rescouce的

插件,不过在进入2.0版本后停止了对该插件的维护并推荐了Axios框架。少用jQuery,因为他

操作Dom太频繁。

 

第一个Axios程序

  现在开发的接口大部分采用的JSON格式。可以先在项目里模拟一段JSON数据,数据内容

:创建一个名为data.json的文件并填入上面的内容,放在项目的根目录下。

{
"name": "我要学Vue",
"url": "https://www.bilibili.com",
"page": 1,
"isNonProfit": true,
"address": {
"street": "财富门",
"city": "湖南长沙",
"country": "中国"
},
"links": [
{
"name": "hao123",
"links": "https://www.hao123.com"
},
{
"name": "百度",
"links": "https://www.baidu.com"
},
{
"name": "博客园",
"links": "https://www.cnblogs.com"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
 
    <style>
        <!--解决闪烁-->
        [v-clock]{
            display: none;
        }
    </style>
 
</head>
<body>
 
<div id="vue" v-clock>
    <div>{{info.name}}</div>
    <div>{{info.address.street}}</div>
 
    <a v-bind:href="info.url">点我</a>
</div>
</div>
 
<!--引入js文件-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el: '#vue',
        data(){
            return{
                //请求的返回参数合适,必须和json字符串一样
                info:{
                    name: null,
                    address:{
                        street:null,
                        city:null,
                        country:null
                    },
                    url:null
                }
            }
        },
        mounted(){//钩子函数 链式编程 注意要用ES6以上的浏览器
            axios.get('../data.json').then(response=>(console.log(this.info=response.data)))
        }
    });
</script>
</body>
</html>

posted on   键盘敲烂的朱  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示