Axios 网络通信

简介: Axios 网络通信

Axios 网络通信

什么是Axios

Axios 是一个开源的可以用在浏览器端NodeJS异步通信框架,她的主要作用就是实现 AJAX 异 步通信,其功能特点如下:

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API [ JS中链式编程 ]
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF(跨站请求伪造)

GitHub:https://github.com/axios/axios

中文文档:http://www.axios-js.com/

为什么要使用 Axios

由于 Vue.js 是一个 视图层框架 并且作者(尤雨溪)严格准守 SoC (关注度分离原则),所以 Vue.js 并不包含 AJAX 的通信功能,为了解决通信问题,作者单独开发了一个名为 vue-resource 的插件,不过在进入 2.0 版本以后停止了对该插件的维护并推荐了 Axios 框架。少用 jQuery,因为它操作Dom太频繁!

第一个 Axios 应用程序

1、咱们开发的接口大部分都是采用 JSON 格式,可以先在项目里模拟一段 JSON 数据,数据内容如下: 创建一个名为 data.json 的文件并填入上面的内容,放在项目的根目录下。

{

   "name": "狂神说Java",

   "url": "https://blog.kuangstudy.com",

   "page": 1,

   "address": {

       "street": "洪崖洞",

       "city": "重庆市",

       "country": "中国"

   }

}

2、测试代码

<!DOCTYPE html>

<htmllang="en"xmlns:v-bind="http://www.w3.org/1999/xhtml">

   <head>

       <metacharset="UTF-8">

       <title>狂神说Java</title>

       <!--v-cloak 解决闪烁问题-->

       <style>

           [v-cloak] {

               display: none;

           }

       </style>

   </head>

   <body>

       <divid="vue"v-cloak>

           <div>名称:{{info.name}}</div>

           <div>地址:{{info.address.country}}-{{info.address.city}}-

           {{info.address.street}}</div>

           <div>链接:<av-bind:href="info.url"target="_blank">{{info.url}}</a>

           </div>

       </div>

       <!--引入 JS 文件-->

       <scriptsrc="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>

       <scriptsrc="https://unpkg.com/axios/dist/axios.min.js"></script>

       <scripttype="text/javascript">

           varvm=newVue({

               el: '#vue',

               // 注意和data属性的区别

               data() {

                   return {

                       // 请求的返回参数格式必须和json字符串一样(或者不写)

                       info: {

                           name: null,

                           address: {

                               country: null,

                               city: null,

                               street: null

                           },

                           url: null

                       }

                   }

               },

               mounted() { //钩子函数 链式编程

                   axios.get('data.json').then(response=> (this.info=response.data));

                   // get请求,获取data.json   then(响应)  response.data响应的数据

               }

           });

       </script>

    </body>

</html>

箭头函数

省略function

如果函数内容只是return可以省略{}写在一行

当参数只有一个,括号可以省略

有多个参数或没有参数不能被省略!

说明 :

  1. 在这里使用了 v-bind 将 a:href 的属性值与 Vue 实例中的数据进行绑定
  2. 使用 axios 框架的 get 方法请求 AJAX 并自动将数据封装进了 Vue 实例的数据对象中
  3. 我们在data中的数据结构必须要和 Ajax 响应回来的数据格式匹配!
相关文章
|
2月前
|
JSON JavaScript 前端开发
基于 JavaScript 的网络请求工具库 axios 的使用介绍
基于 JavaScript 的网络请求工具库 axios 的使用介绍
68 3
|
8月前
|
JSON 前端开发 JavaScript
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)(三)
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)(三)
|
1月前
|
资源调度 JavaScript 前端开发
|
5月前
|
数据采集 JSON JavaScript
网络爬虫的实战项目:使用JavaScript和Axios爬取Reddit视频并进行数据分析
网络爬虫是一种程序或脚本,用于自动从网页中提取数据。网络爬虫的应用场景非常广泛,例如搜索引擎、数据挖掘、舆情分析等。本文将介绍如何使用JavaScript和Axios这两个工具,实现一个网络爬虫的实战项目,即从Reddit这个社交媒体平台上爬取视频,并进行数据分析。本文的目的是帮助读者了解网络爬虫的基本原理和步骤,以及如何使用代理IP技术,避免被目标网站封禁。
102 0
网络爬虫的实战项目:使用JavaScript和Axios爬取Reddit视频并进行数据分析
|
8月前
|
前端开发 JavaScript UED
Axios网络请求:前端数据交互的强大工具
本篇深入介绍了Axios网络请求库的使用,涵盖了基本的GET和POST请求、拦截器的应用、并发请求的处理以及取消请求的方法。通过详细的代码示例,读者可以了解如何在前端应用中使用Axios进行数据交互,实现高效、可靠的网络请求,从而提升应用性能和用户体验。无论是单一请求还是多个请求的并发处理,Axios都展现了强大的功能,为前端开发者提供了一种优秀的解决方案。
166 0
|
8月前
|
缓存 JSON 前端开发
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)(二)
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)(二)
|
8月前
|
XML 数据采集 Web App开发
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)(一)
AJAX(GET POST请求、 jQuery axios 发送请求、跨域--cors、请求超时、网络异常、放弃请求、重复发送请求)
|
9月前
|
JavaScript
12-Vue之网络应用axios加vue
12-Vue之网络应用axios加vue
|
JavaScript 前端开发 API
VUE系列 ---- 网络模块axios(一 )
VUE系列 ---- 网络模块axios(一 )
66 0
VUE系列 ---- 网络模块axios(一 )