Axios 学习使用

1. 概念

是一个异步请求技术

基于XMLHttpRequest对象发起的请求都是异步请求

ajax可以用来发送异步请求,但过气了。vue全家桶都是采用的axios

2. 使用demo

下载地址 unpkg.com/axios/dist/...

get 方式请求

response.data 里面就是后端的数据

xml 复制代码
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script type="text/javascript">
      axios
        .get("http://localhost:6001/axios/findAll?username=dingyawu")
        .then(function (response) {
          console.log(response.data);
        })
        .catch(function (err) {
          console.log(err);
        });
    </script>

post请求

  1. axios在发送post请求传参如果是对象,axios会自动将对象转化为jsonstr,使用application/json 的请求头向后端传递参数
  2. axios的post请求传递参数的两种方式 "name=roy&age=23", 或者传递一个对象
xml 复制代码
    <script type="text/javascript">
     
      const params = {
        name: "roy",
        age: 23,
      };
      axios
        .post("http://localhost:6001/axios/save", params)
        .then(function (response) {
          console.log(response.data);
        })
        .catch(function (err) {
          console.log(err);
        });
    </script>

并发请求

针对并发请求用到axios.all(), 用axios.spread() 来汇总请求结果

xml 复制代码
    <script type="text/javascript">
      function findAll() {
        return axios.get(
          "http://localhost:6001/axios/findAll?username=dingyawu"
        );
      }
      const params = {
        name: "roy",
        age: 23,
      };

      function save() {
        return axios.post("http://localhost:6001/axios/save", params);
      }

      axios.all([findAll(), save()]).then(
        axios.spread(function (result1, result2) {
          console.log(result1.data);
          console.log(result2.data);
        })
      );
    </script>
相关推荐
用户479492835691527 分钟前
Vite8来啦,告别 esbuild + Rollup,Vite 8 统一用 Rolldown 了
前端·javascript·vite
枫,为落叶30 分钟前
VueRouter前端路由
前端
踢球的打工仔30 分钟前
前端知识介绍
前端
草字1 小时前
uniapp 悬浮按钮支持可拖拽。可移动。
前端·javascript·uni-app
一位搞嵌入式的 genius1 小时前
Vue实例挂载:从原理到项目实践的全维度解析
前端·javascript·vue.js·前端框架
waeng_luo1 小时前
[鸿蒙2025领航者闯关] 表单验证与用户输入处理最佳实践
开发语言·前端·鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结
0思必得01 小时前
[Web自动化] 开发者工具应用(Application)面板
运维·前端·python·自动化·web自动化·开发者工具
m0_740043731 小时前
Vue Router中获取路由参数d两种方式:$route.query和$route.params
前端·javascript·vue.js
风止何安啊1 小时前
Event Loop 教你高效 “划水”:JS 单线程的“摸鱼”指南
前端·javascript·面试
@菜菜_达1 小时前
goldenLayout布局
前端·javascript