首页 > 其他分享 >axios 入门、基本用法

axios 入门、基本用法

时间:2023-10-09 12:05:41浏览次数:37  
标签:function axios console 入门 get 用法 response log

axios

axios 入门、基本用法_fish

axios 入门、基本用法_fish_02

Promise based HTTP client for the browser and node.js

Features

  • Make XMLHttpRequests from the browser
  • Make http requests from node.js
  • Supports the Promise API
  • Intercept request and response
  • Transform request and response data
  • Cancel requests
  • Automatic transforms for JSON data
  • Client side support for protecting against XSRF

Browser Support

axios 入门、基本用法_fish_03

 

安装 Axios Installing

Using npm:

$ npm install axios

Using bower:

$ bower install axios

Using cdn:

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

 

C:\Users\Administrator>npm install axios
+ [email protected]
updated 1 package and audited 2 packages in 1.754s
found 0 vulnerabilities

 

安装之后:

axios 入门、基本用法_fish_04

 

 

axios 入门、基本用法_fish_05

 

 

axios发起GET请求
axios发起get请求的语法:

axios.get('ur1',{params:{/*参数*/}}).then(callback)

具体的请求示例如下:

//请求的URL地址
var url='http://www.liulongbin.top:3006/api/get'  
//请求的参数对象
var paramsobj={name:'zs',age:20}
//调用axios.get()发起GET请求
axios.get(url,{params:paramsobj}).then(function(res){
    //res.data 是服务器返回的数据
    var result=res.data
    console.log(res)
})

 

axios发起POST请求
axios发起post 请求的语法:

axios.post('ur1',{/*参数*/}).then(callback)

具体的请求示例如下:

//请求的_URL,地址
var url='http://www.liulongbin.top:3006/api/post'
//要提交到服务器的数据
var data0bj={location:'北京',address:'顺义′}
//调用axios.post()发起POST请求
axios.post(url,dataobj).then(function(res){
    //res.data是服务器返回的数据
    var result=res.data
    console.log(result)
})

 

完整示例 (来自 https://gitee.com/haha_2020/vue_material/blob/master/axios%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html):

下面的例子不用安装axios也可以在浏览器里面正常运行。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>axios基本使用</title>
</head>

<body>
    <input type="button" value="get请求" class="get">
    <input type="button" value="post请求" class="post">
    <!-- 官网提供的 axios 在线地址 -->
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>
        /*
            接口1:随机笑话
            请求地址:https://autumnfish.cn/api/joke/list
            请求方法:get
            请求参数:num(笑话条数,数字)
            响应内容:随机笑话
        */
        document.querySelector(".get").onclick = function () {
            axios.get("https://autumnfish.cn/api/joke/list?num=6")
            // axios.get("https://autumnfish.cn/api/joke/list1234?num=6")
            .then(function (response) {
                console.log(response);
              },function(err){
                  console.log(err);
              })
        }
        /*
             接口2:用户注册
             请求地址:https://autumnfish.cn/api/user/reg
             请求方法:post
             请求参数:username(用户名,字符串)
             响应内容:注册成功或失败
         */
        document.querySelector(".post").onclick = function () {
            axios.post("https://autumnfish.cn/api/user/reg",{username:"盐焗西兰花"})
            .then(function(response){
                console.log(response);
                console.log(this.skill);
            },function (err) {
                console.log(err);
              })
          }

    </script>
</body>

</html>

在浏览器里面开启调试工具。

运行结果如下:

axios 入门、基本用法_fish_06

 

例子

Performing a GET request

const axios = require('axios');

// Make a request for a user with a given ID
axios.get('/user?ID=12345')
  .then(function (response) {
    // handle success
    console.log(response);
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  })
  .then(function () {
    // always executed
  });

// Optionally the request above could also be done as
axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  })
  .then(function () {
    // always executed
  });  

// Want to use async/await? Add the `async` keyword to your outer function/method.
async function getUser() {
  try {
    const response = await axios.get('/user?ID=12345');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

NOTE: async/await is part of ECMAScript 2017 and is not supported in Internet
Explorer and older browsers, so use with caution.

 

Performing a POST request

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

Performing multiple concurrent requests

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

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

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // Both requests are now complete
  }));

 

 

REF

http://www.axios-js.com/docs/

https://gitee.com/haha_2020/vue_material/blob/master/axios%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html

 

视频:

https://www.bilibili.com/video/BV1334y1d74f?p=120

https://www.bilibili.com/video/BV1334y1d74f?p=121

https://www.bilibili.com/video/BV1334y1d74f?p=122

https://www.bilibili.com/video/BV1334y1d74f?p=123

 



标签:function,axios,console,入门,get,用法,response,log
From: https://blog.51cto.com/emanlee/7771974

相关文章

  • PyQT5 PyQT入门教程(之三)
    REFhttp://code.py40.com/pyqt5/22.html 事件Event所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、windowmanager或定时器。当我们调用QApplication的exec_()方法时会使程序进入主循环。主循环会获取并分发事件。在事件模型中,有三个参与......
  • PyQT5 PyQT入门教程(之二)
    REFhttps://www.jianshu.com/p/3832eb48f3d5 布局(Layout)管理QtDesigner中,在工具箱中最上方可以看到有4种布局。分别是垂直布局、水平布局、栅格布局和表单布局。  四种布局布局名称   布局含义垂直(Vertical)布局   布局内的控件按照从上到下的顺序纵向排列水平(Horizon......
  • PyQT5 PyQT入门教程(之一)
    REFhttps://www.jianshu.com/p/5b063c5745d0 本篇博客对应的视频讲解:https://www.bilibili.com/video/BV1NZ4y1Z7ue/ QtDesigner的介绍在PyQt中编写UI界面可以直接通过代码来实现,也可以通过QtDesigner来完成。QtDesigner的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现......
  • -webkit-text-size-adjust的用法
    1、Chrome浏览器默认情况下的字体最小为12px,如果你要设置某字体大小为10px的话,你会在Chrome发现还是12px。如果要使此生效的话,就得修改Chrome的默认配置了,一般应用下面的代码就能在全局生效了:html{-webkit-text-size-adjust:none;}但是这样设置之后会有一个问题,就是当你放......
  • 【webapp】jsp EL 的基本语法和用法
    EL(表达式语言)是用于在JSP页面中访问和操作数据的简洁表达式语言。EL提供了一种简化和统一的方式来访问变量、属性、集合和其他对象。以下是EL的基本语法和用法:基本语法:${expression}:用于在JSP页面中嵌入EL表达式。${object.property}:访问对象的属性。${map.key}:访......
  • C++基础入门
    C++基础入门1C++初识1.1第一个C++程序编写一个C++程序总共分为4个步骤创建项目创建文件编写代码运行程序1.1.1创建项目​ VisualStudio是我们用来编写C++程序的主要工具,我们先将它打开1.1.2创建文件右键源文件,选择添加->新建项给C++文件起个名称,然后点击添......
  • python round的正确用法
    a=round(34.5+1e-10)print(a)因为浮点数精度问题,python设置为0.5舍弃. 所以我们都加上一个小误差1e-10.不影响结果.  高级技巧:如果你想无痛不改之前代码用的大量round,来改变这个bug那么用下面方法即可importbuiltinsdefround(x):returnbuiltins.ro......
  • docker入门加实战——docker安装并配置阿里云加速
    docker入门加实战——docker安装并配置阿里云加速为什么要学习docker在开发和部署项目的过程中,经常会遇到如下问题:软件安装包名字复杂,不知道去哪里找安装软件和部署项目步骤复杂,容易出错这就是我们今天要学习Docker技术要解决的问题。有了Docker以后,项目的部署会如丝般顺滑......
  • 文本分类入门
    文本分类是自然语言处理(NLP)领域中的一项任务,它涉及将文本文档分配到一个或多个预定义的类别或标签中。其主要目标是使用计算机算法来自动识别和归纳文本的内容,以便更好地组织、检索和理解大量的文本数据。文本分类在许多应用中都有广泛的用途,包括:情感分析:将文本分为积极、消极......
  • Python入门示例系列10 字符串(初级)
     字符串(string)Python中的字符串用单引号'或双引号"括起来,同时使用反斜杠\转义特殊字符。'ABC' 与"ABC"完全等价。示例:s1="hello"#双引号"括起来s2='hello'#单引号'括起来s3=''#空字符串s4=""#空字符串s5='''......