什么是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"
}
]
}
<!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/[email protected]/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>标签:异步,www,Axios,name,通信,https,null,com From: https://www.cnblogs.com/zhulei118/p/16963522.html