首页 > 其他分享 >Axios 介绍

Axios 介绍

时间:2023-11-20 23:57:47浏览次数:32  
标签:function node axios 请求 form 介绍 Axios error

Axios 是什么?

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。
它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

特性

  • 从浏览器创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 超时处理
  • 查询参数序列化支持嵌套项处理
  • 自动将请求体序列化为:
    • JSON (application/json)
    • Multipart / FormData (multipart/form-data)
    • URL encoded form (application/x-www-form-urlencoded)
  • 将 HTML Form 转换成 JSON 进行请求
  • 自动转换JSON数据
  • 获取浏览器和 node.js 的请求进度,并提供额外的信息(速度、剩余时间)
  • 为 node.js 设置带宽限制
  • 兼容符合规范的 FormData 和 Blob(包括 node.js)
  • 客户端支持防御XSRF

安装

使用 npm:

$ npm install axios

使用 bower:

$ bower install axios

使用 yarn:

$ yarn add axios

使用 jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

使用 unpkg CDN:

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

为了直接使用 require 导入预构建的 CommonJS 模块(如果您的模块打包器无法自动解析它们),我们提供了以下预构建模块:

const axios = require('axios/dist/browser/axios.cjs'); // browser
const axios = require('axios/dist/node/axios.cjs'); // node

例子

发起 GET 请求

// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  })
  .finally(function () {
    // 总是会执行
  });


// 可选地,上面的请求可以这样做
axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  })
  .finally(function () {
    // 总是会执行
  });


// 支持async/await用法
async function getUser() {
  try {
    const response = await axios.get('/user?ID=12345');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

发起 POST 请求

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

发起多个并发请求

function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

const [acct, perm] = await Promise.all([getUserAccount(), getUserPermissions()]);

// OR

Promise.all([getUserAccount(), getUserPermissions()])
  .then(function ([acct, perm]) {
    // ...
  });

将 HTML Form 转换成 JSON 进行请求

const {data} = await axios.post('/user', document.querySelector('#my-form'), {
  headers: {
    'Content-Type': 'application/json'
  }
})

Forms

  • Multipart (multipart/form-data)
    const {data} = await axios.post('https://httpbin.org/post', {
        firstName: 'Fred',
        lastName: 'Flintstone',
        orders: [1, 2, 3],
        photo: document.querySelector('#fileInput').files
      }, {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      }
    )
    
  • URL encoded form (application/x-www-form-urlencoded)
    const {data} = await axios.post('https://httpbin.org/post', {
        firstName: 'Fred',
        lastName: 'Flintstone',
        orders: [1, 2, 3]
      }, {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
    })
    

标签:function,node,axios,请求,form,介绍,Axios,error
From: https://www.cnblogs.com/guangdelw/p/17845225.html

相关文章

  • eBPF 概述:第 1 部分:介绍
    1.前言有兴趣了解更多关于eBPF技术的底层细节?那么请继续移步,我们将深入研究eBPF的底层细节,从其虚拟机机制和工具,到在远程资源受限的嵌入式设备上运行跟踪。注意:本系列博客文章将集中在eBPF技术,因此对于我们来讲,文中BPF和eBPF等同,可相互使用。BPF名字/缩写已经没有太......
  • 开源服务器监控工具——Monit的介绍及使用
    一、Monit简介Monit是一个跨平台的用来监控Unix/Linux系统(比如Linux、BSD、OSX、Solaris)的工具。易于安装,轻量级(只有500KB大小),不依赖于任何第三方程序、插件或者库。Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报......
  • Sharp7基本介绍
    什么是Sharp7:Sharp7是Snap7Client的C#端口。它不是包装器,即您没有加载snap7.dll(或.so)的接口代码,但它是S7Protocol的纯C#实现。Sharp7部署为单个源文件,其中包含一些可以直接在.NET项目中使用的类来与S7PLC进行通信。它设计用于与基于.NET的小型硬件配合使用......
  • 00Redis介绍
    1.1Redis简介Redis,RemoteDictionaryServer,远程字典服务,由意大利人SalvatoreSanfilippo(又名Antirez)开发,是一个使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库,其提供多种语言的API。Redis之所以称之为字典服务,是因为Redis......
  • Excel中最牛的Index和match函数介绍
    当谈到Excel中最强大的函数时,INDEX和MATCH往往会被提及。它们经常一起使用,可以用来查找和返回数据表中的特定数值或信息。下面是对这两个函数的详细介绍:INDEX函数:INDEX函数的作用是返回一个数组或区域中的特定单元格的值。其语法如下:```excelINDEX(array,row_num,[column_......
  • .NET 8 Video教程介绍(开篇)
    教程简介本文将简单描述视频网站教程,视频网站是一个类似于腾讯视频一样的网站,视频资源用户自己上传,然后提供友好的界面查看视频和搜索视频,并且提供管理页面对于视频进行管理,我们将使用Blazor作为前端,并且由MasaFramework作为后端框架,一般情况下我们需要做简单的权限管理,对于用户......
  • nodejs你应该知道的13个库 | Sequelize CORS Nodemailer Async Lodash Axios
    1.SequelizeSequelize是一种基于promise的Node.js对象关系映射器(ORM)使用,它使开发人员更容易使用关系数据库。 2.CORSCORS是一个Node.js包,它使用Connect/Express提供跨域资源共享(CORS)作为中间件。CORS包包装了Node.js路由中间件,允许程序从其自己的域以外的......
  • Linux三剑客介绍——grep
    在Linux系统中,有三个非常常用的文本处理命令:grep,awk,sed。使用这三个命令可以实现非常“炫酷”的文本操作。这篇博文就带大家一起来认识这三个命令中的grep命令。1.grep    grep命令用来对Linux中的文本进行匹配。$echo-e"thisisaword\nnextlin......
  • 《PC Assembly Language》笔记——第一章-介绍
    《PCAssemblyLanguage》PaulA.Carter第1章-介绍Introduction1.2ComputerOrganization1.2.1内存(Memory)单位大小word2bytesdoubleword4bytesquadword8bytesparagraph16bytes1.2.380x86CPU家族实模式程序可以访问任何内存地址(甚至是......
  • 内存安全问题之 use-after-free 漏洞的介绍
    计算机安全领域中的"use-after-free"漏洞是一种常见的内存安全问题。该漏洞类型源自于程序错误,通常发生在应用程序或操作系统中。"Use-after-free"漏洞指的是在释放(free)了某块内存后,程序继续使用了已释放的内存区域,可能导致严重的安全问题。这种漏洞对计算机系统和用户数据构成严......