axios的使用

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

如果您想在浏览器中使用 Axios,首先需要安装它。您可以使用 npm(Node 包管理器)或 yarn 来安装 Axios。例如,在命令行中输入以下命令:

shell复制代码

|---|---------------------|
| | npm install axios |

csharp复制代码

|---|------------------|
| | yarn add axios |

安装完成后,您可以在 JavaScript 文件中引入 Axios,并使用它来发送 HTTP 请求。例如:

javascript复制代码

|---|--------------------------------|
| | import axios from 'axios'; |
| | |
| | axios.get('/user?ID=12345') |
| | .then(function (response) { |
| | // handle success |
| | console.log(response); |
| | }) |
| | .catch(function (error) { |
| | // handle error |
| | console.log(error); |
| | }) |
| | .finally(function () { |
| | // always executed |
| | }); |

如果您想在 node.js 中使用 Axios,首先需要安装它。在命令行中输入以下命令:

shell复制代码

|---|---------------------|
| | npm install axios |

csharp复制代码

|---|------------------|
| | yarn add axios |

安装完成后,您可以在 JavaScript 文件中引入 Axios,并使用它来发送 HTTP 请求。例如:

javascript复制代码

|---|------------------------------------|
| | const axios = require('axios'); |
| | |
| | axios.get('/user?ID=12345') |
| | .then(function (response) { |
| | console.log(response); |
| | }) |
| | .catch(function (error) { |
| | console.log(error); |
| | }); |

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/1.5.0/axios.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.js"></script>
</head>
<body>
    <script>
        // axios({
        //     url:"",
        //     method:'',
        //     // 基础路径
        //     baseUrl:"",
        //     //get delete head 一类请求携带参数
        //     params:{

        //     },
        //     //post put patch 一类请求携带
        //     data:{

        //     },
        //     //请求头
        //     headers:{},
        //     //请求超过几秒中断请求
        //     timeout:2000
        // })



        // axios get 请求返回的是一个promise对象
    //    let res =  axios({
    //         url:"http://hmajax.itheima.net/api/ambition"
    //     }).then(res =>{
    //         console.log(res);
    //     }).catch(error=>{
    //         console.dir(error)
    //     })
    //     console.log(res);
     

    // get带参数 不需要转换数据格式 axios会自动转换为json查询字符串
    //  let res = axios({
    //     url:'http://121.199.0.35:8888/index/article/pageQuery',
    //     // get类请求携带参数选项 params只接受一个纯js对象 
    //     params:{
    //         page:1,
    //         pageSize:10
    //     }
    // })
    // console.log(res);

    // post请求 post 参数 json字符串或者表单格式数据
    // post发起请求默认数据格式为json格式 请求头Content-Type也会自动设置为application/json
    // let res =  axios({
    //     url:'http://121.199.0.35:8888/user/login',
    //     method:'post',
    //     data:{
    //         username:'admin1',
    //         password:123321
    //     }
    // })
    // console.log(res);

    //post 发起表单格式的请求
    let res = axios({
        url:"http://121.199.0.35:8888/baseUser/saveOrUpdate",
        method:'post',
        data:Qs.stringify({
            username:'aaa',
            password:1111
        }),
        headers:{
            'Authorization':'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJNalU9Iiwic3ViIjoiYWRtaW4xIiwiaXNzIjoiMDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjYiLCJpYXQiOjE3MDIyNjMyNTYsImF1ZCI6InJlc3RhcGl1c2VyIiwiZXhwIjoxNzAyNDM2MDU2LCJuYmYiOjE3MDIyNjMyNTZ9.JHmlslry8c_MfFCBH5Ld4PUxYU1-2nMWo2OhOXO3H3g'
        }
    })
    console.log(res);
    </script>
</body>
</html>

axios快捷方法

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.js"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/axios/1.5.0/axios.js"></script>
</head>
<body>
  <script>
    // axios({})==>axios.request({})

    // 快捷方法 get无参  axios.get(url,请求配置项) 
    // axios.get('http://121.199.0.35:8888/index/carousel/findAll').then(res=>{
    //   console.log(res.data,'获取响应');
    // });
    // get带参 
    // axios.get('http://121.199.0.35:8888/index/article/pageQuery',{
    //   params:{
    //     page:1,
    //     pageSize:10
    //   },
    //   headers:{
    //   },
    //   timeout:2000
    // }).then(res=>{
    //   console.log(res.data,'获取响应');
    // })

    // delete head options 
    // axios.post(url,data,请求配置项) 发起post请求 数据格式会自动转为json格式
    // let data = {
    //   username:"admin1",
    //   password:123321
    // }
    // axios.post('http://121.199.0.35:8888/user/login',data,{
    //   timeout:2000,
    //   headers:{}
    // }).then(res=>{
    //   console.log(res);
    // })
    let data = {
      username:'测试用户9999888',
      password:654789,
    };
    axios.post('http://121.199.0.35:8888/baseUser/saveOrUpdate',Qs.stringify(data),{
      headers:{
        'Authorization': "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJNalU9Iiwic3ViIjoiYWRtaW4xIiwiaXNzIjoiMDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjYiLCJpYXQiOjE3MDIyNjMyNTYsImF1ZCI6InJlc3RhcGl1c2VyIiwiZXhwIjoxNzAyNDM2MDU2LCJuYmYiOjE3MDIyNjMyNTZ9.JHmlslry8c_MfFCBH5Ld4PUxYU1-2nMWo2OhOXO3H3g"
      }
    }).then(res=>{
      console.log(res.data,'获取响应');
    })
  </script>
</body>
</html>
相关推荐
吴声子夜歌4 天前
Vue3——网络框架Axios的应用
javascript·vue3·axios
wordbaby6 天前
一次跨端 Loading 卡死复盘:把请求计数从 Axios 拦截器迁到 try/catch/finally
前端·axios
奇奇怪怪的问题9 天前
问题总结:关于封装axios问题,导致外部使用接口报错,无法进入error回调
前端·axios
吴声子夜歌13 天前
Vue3——使用axios实现Ajax请求
前端·javascript·ajax·axios
李昊哲小课18 天前
Axios 完整实战教程
axios
三声三视24 天前
鸿蒙 ArkTS 网络请求实战:从 HTTP 到 Axios 封装,打造生产级请求层
网络·http·axios·harmonyos·网络封装
梵得儿SHI1 个月前
Vue 3 工程化实战:Axios 高阶封装与样式解决方案深度指南
前端·javascript·vue3·axios·样式解决方案·api请求管理·统一请求处理
晓得迷路了1 个月前
栗子前端技术周刊第 123 期 - axios 包遭入侵、Babylon.js 9.0、Node.js 25.9.0...
前端·javascript·axios
终端鹿1 个月前
Vue3 + axios 前后端联调实战:封装、跨域与报错处理
前端·vue.js·axios
合天网安实验室1 个月前
Axios遭供应链投毒攻击(附排查与紧急补救指南)
axios·黑客攻击·供应链投毒