浅学一下axios

1. 简介

axios是一个基于Promise ,作用于nodejs和浏览器中的网络请求库。

具有以下特性:

  • 从浏览器创建 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

2. json server

2.1简介

json-server是一款json数据服务器,它运行 Express 服务器,可以对json文件、js脚本生成的json数据、远程json数据进行restful风格的增删改查操作,通过 指定一个json文件作为api数据源 ,可以进行分页、排序、关联查询、范围查询等各种查询操作,是一套完整的模拟 REST API 接口

使用json-server需要注意:

  • 查询数据使用 GET
  • 新增数据使用 POST
  • 删除数据使用 DELETE
  • 修改数据使用 PUT 和 PATCH

2.2 安装

npm install -g json-server

2.3 db.json

在项目目录创建一个db.json文件

json 复制代码
{
  "users": [
    {
      "id":1,
      "name": "codeyu",
      "age": 20,
      "addr": "江苏南京"
    },
    {
      "id":2,
      "name": "xiaoming",
      "age": 22,
      "addr": "江苏苏州"
    }
  ]
}

2.4 启动服务

进入项目目录,打开终端输入 json-server --watch db.json

3. axios快速上手

3.1 在html中使用

xml 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>axios</title>
  <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
  <script>
    axios.get("http://localhost:3000/users").then(res => {
      console.log(res.data);
    })
  </script>
</body>
</html>

3.2 在vue3项目中使用

准备一个vue3项目:

npm create vue@latest

安装axios:

npm install axios

xml 复制代码
<template>
  <div>
    <h1>welcome to axios</h1>
  </div>
</template>
​
<script setup lang="ts">
import axios from 'axios';
​
axios.get('http://localhost:3000/users').then(res => {
  console.log(res.data);
})
</script>
相关推荐
工业互联网专业3 小时前
基于springboot+vue的健康健身追踪系统
java·vue.js·spring boot·毕业设计·源码·课程设计·健康健身追踪系统
小猪欧巴哟5 小时前
pnpm install 安装项目依赖遇到 illegal operation on a directory, symlink 问题
前端·vue.js
猫头虎5 小时前
如何解决IDE项目启动报错 error:0308010C:digital envelope routines::unsupported 问题
javascript·ide·vue.js·typescript·node.js·编辑器·vim
苹果酱05677 小时前
python3语言基础语法整理
java·vue.js·spring boot·mysql·课程设计
绅士玖7 小时前
Vue.js 小知识点大揭秘:提升开发效率的实用技巧
前端·vue.js
拖孩9 小时前
【Nova UI】十四、打造组件库之按钮组件(下):按钮组组件的构建之旅
前端·javascript·vue.js
Rudon滨海渔村9 小时前
[随笔] 升级uniapp旧项目的vue、pinia、vite、dcloudio依赖包等
前端·vue.js·uni-app
Watermelo6179 小时前
Vue3调度器错误解析,完美解决Unhandled error during execution of scheduler flush.
前端·javascript·vue.js·elementui·html·es6·bug
一城烟雨_16 小时前
vue3 实现将html内容导出为图片、pdf和word
前端·javascript·vue.js·pdf
涵信19 小时前
第九节:性能优化高频题-首屏加载优化策略
前端·vue.js·性能优化