当前位置: 首页 > news >正文

axios--》axios初步操作

目录

初识axios

axios常用语法

axios发送get请求

axios发送post请求

axios发送Ajax请求

初识axios

axios是一个基于promise的网络请求库,作用于node.js和浏览器中,在服务端它使用原生node.js 的 http 模块,而在客户端(浏览器)则使用 XMLHttpRequest。原理:axios本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范。

使用axios也可以不用下载一些包的依赖,直接使用 BootCDN 搜索 axios 复制其链接引入即可。

这里说一下,以vscode举例,刚开始书写axios是没有代码提示的,需要下载如下的一个插件:

axios发送Ajax请求操作可以看一下GitHub上axios的相关讲解:axios 网络不好可以多试几次。

axios常用语法

axios(config):通用/最本质的发任意类型请求的方式

axios(url[,config]):可以只指定url发get请求

axios.request(config):等同于axios(config)

axios.get(url[,config]):发get请求

axios.delete(url[,config]):发delete请求

axios.post(url[,data,config]):发post请求

axios.put(url[,data.config]):发put请求

axios.defaults.xxx:请求的默认全局配置

axios.interceptors.request.use():添加请求拦截器

axios.intercetors.response.use():添加响应拦截器

axios.create([config]):创建一个新的axios(它没有下面的功能)

axios.Cancel():用于创建取消请求的错误对象

axios.CancelToken():用于创建取消请求的token对象

axios.isCancel():是否是一个取消请求的错误

axios.all(promise):用于批量执行多个异步请求

axios发送get请求

<!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 crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/1.1.2/axios.js"></script>
</head>
<body>
    <button>GET</button>
    <script>
        const btn = document.querySelector('button')
        // 配置 baseURL 对路径做一个简化
        axios.defaults.baseURL= "http://127.0.0.1:8000"
        btn.onclick = function(){
            // GET请求
            axios.get('/axios',{ //因为简化URL所以这里只需要写路径即可。
                // url 参数
                params:{
                    id:100,
                    vip:7
                },
                // 请求头信息
                headers:{
                    // 请求头name不能是中文
                    name:'zhangsan',
                    age:20
                }
            }).then(value =>{
                console.log(value);
            })
        }
    </script>
</body>
</html>

express服务

axios发送post请求

<body>
    <button>post</button>
    <script>
        const btn = document.querySelector('button')
        // 配置 baseURL 对路径做一个简化
        axios.defaults.baseURL= "http://127.0.0.1:8000"
        btn.onclick = function(){
            // POST请求
            axios.post('/axios',{
                username:'admin',
                password:'123456'
            },{ 
                // url 参数
                params:{
                    id:100,
                    vip:7
                },
                // 请求头信息
                headers:{
                    // 请求头name不能是中文
                    name:'Jack',
                    age:18
                }
            })
        }
    </script>
</body>

axios发送Ajax请求

<body>
    <button>Ajax</button>
    <script>
        const btn = document.querySelector('button')
        // 配置 baseURL 对路径做一个简化
        axios.defaults.baseURL = "http://127.0.0.1:8000"
        btn.addEventListener('click', function () {
            axios({
                // 请求方法
                method: 'POST',
                // url
                url: '/axios',
                // url 参数
                params: {
                    a: 100,
                    b: 200
                },
                // 请求头信息
                headers: {
                    name: 'Jack',
                    age: 18
                },
                // 请求体参数
                data: {
                    username: 'admin',
                    password: '12345'
                }
            }).then(response => {
                // 响应状态码
                console.log(response.status);
                // 响应状态字符串
                console.log(response.statusText);
                // 响应头信息
                console.log(response.headers);
                // 响应体
                console.log(response.data);
            })
        })
    </script>
</body>

当然,发送axios还有许多参数,这里就不在一一讲解了,想要深入了解的,可以去看一下上面发的 axios 网址,里面详细介绍了许多参数的使用方法:

仅仅介绍了axios初步知识,更加详细的文章可以看一下这位博主写的,总结的很全面  深入补充文章  。

相关文章:

  • javaScript 防抖/节流,探索学习,对新手友好的内容
  • 【docker】dockerfile优化镜像大小
  • m基于RFID和DBSCAN聚类的InSAR室内三维定位算法的matlab仿真
  • 【面试题】 对象、原型、原型链与继承?这次我懂了!
  • python-sklearn模型通用方法的介绍
  • 入坑 Hack The Box
  • Pr 视频效果:模糊与锐化
  • 智慧城市建设及发展资料合集
  • JMeter笔记16 | 性能参数配置及测试监听
  • 三个“清洁代码”技巧将使您的开发团队效率提高 50%
  • create® 3入门教程-使用多个机器人
  • Redis实战篇一 (短信登录)
  • Java高级——Class文件及解析
  • 高效代码静态测试工具Klocwork 2022.3版本快讯
  • java毕业设计艾灸减肥管理网站Mybatis+系统+数据库+调试部署
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 07.Android之多媒体问题
  • 78. Subsets
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • JavaScript DOM 10 - 滚动
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Java方法详解
  • MySQL-事务管理(基础)
  • Node + FFmpeg 实现Canvas动画导出视频
  • opencv python Meanshift 和 Camshift
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue 2.3、2.4 知识点小结
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • webpack入门学习手记(二)
  • 阿里云购买磁盘后挂载
  • 阿里云应用高可用服务公测发布
  • 从tcpdump抓包看TCP/IP协议
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 经典排序算法及其 Java 实现
  • 力扣(LeetCode)965
  • 排序(1):冒泡排序
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • Spring Batch JSON 支持
  • #HarmonyOS:基础语法
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (简单) HDU 2612 Find a way,BFS。
  • (四)事件系统
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)菜鸟学数据库(三)——存储过程
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .NET C# 使用 iText 生成PDF
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 中创建支持集合初始化器的类型
  • .NET基础篇——反射的奥妙
  • /3GB和/USERVA开关
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?