axios 使用总结

2023-11-09

功能简介:

axios是第三方封装库,作用是在框架中使用数据请求

安装:

 npm install axios –S

在Vue 项目文件中的main.js 文件,定义axios请求类的全局引用。核心代码如下

 特点:

1. 它在浏览器中创建的是浏览器对象

2. 它底层是用Node.js中的http模块实现的

3. 支持Promise

4. 可以拦截请求和响应

      功能: loading加载效果、登录拦截

5. 转换请求和响应数据

6. 自动转换为JSON数据

7. 客户端支持防止XSRF 

 8. axios会自动封装数据

功能请求:

get 请求带参:

axios.get('./***/', params:{'参数':'值'}).then( res => {
  console.log( res )
 }).catch( err => console.log( err ))}
axios({
   url: ` `,
  method: 'GET',//默认就是get请求,这个可以不写
  params: {
 	参数: 值,
  } }).then( res => {
    console.log( res )
  }).catch( err => console.log( err )) }

 

get 请求不带参:

axios.get('./***/').then( res => {
  console.log( res )
 }).catch( err => console.log( err ))}

get请求携带参数用params 

post请求必须先设置请求头:


axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

post 请求:

const p = new URLSearchParams() 
p.append( 参数,参数值 )

axios({
  url: `${ DEV_BACK_URL }/register`,
  data: p,// post请求携带参数的配置项
  method: 'POST'
}).then( res => console.log( res ))
 .catch( err => console.log( err ))

post请求携带参数的用data,用p.append添加参数

axios 请求封装:request.js

import { Message, MessageBox } from "element-ui";
import axios from 'axios';

const service = axios.create({
    baseURL: 'http://192.168.1.74:8081/crm',
    timeout: 15000  // 请求超过15秒就报错
  })

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
  // request拦截器
service.interceptors.request.use(config => {
  
    return config
  }, error => {
    // 当请求错误时
    console.log(error)
    Promise.reject(error)
  })
  
  // response拦截器
  service.interceptors.response.use(
    response => {
      const res = response.data
      // if !200 start
      if (res.code !== 200) {
        Message({
          message: res.massage,
          type: 'error',
          duration: 3 * 1000
        })
  
        // code = 401 表示未登录
        // if 401 start
        if (res.code === 401) {
          MessageBox.confirm('登录失效,请重新登录', '确认登出', {
            confirmButtonText: '重新登录',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            
          })
        } // if 401 end
        return Promise.reject('error')
      } else { // if !200 end
        return response.data
      }
    }, // response end
  
    error => {
      console.log('err' + error)
      Message({
        message: error.message,
        type: 'error',
        duration: 3 * 1000
      })
      return Promise.reject(error)
    }
  )
  
  export default service

实例:依赖request.js 实现get 和post 参数请求后台接口地址:

user.js 和state.js

import request from '@/utils/request'

export function getUserList(data) {
    return request({
      url: '/user/page',
      method: 'post',
      data
    })
  }
import request from '@/utils/request'

export function getStateList(params) {
    return request({
      url: '/state/page',
      method: 'get',
      params
    })
  }

效果展示:

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios 使用总结 的相关文章

  • 在 NodeJS 中将子进程的输出保存在父进程的变量中

    我想在 NodeJS 中启动一个子进程并将其输出保存到一个变量中 以下代码将其提供给标准输出 require child process execSync echo Hello World stdio inherit 我的想法与此代码类似
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • node.js 本身还是 nginx 前端来提供静态文件?

    是否有更快的基准或比较 将 nginx 放在节点前面并让它直接提供静态文件或仅使用节点并使用它提供静态文件 nginx 解决方案似乎对我来说更易于管理 有什么想法吗 我不得不不同意这里的答案 虽然 Node 可以做得很好 但如果配置正确 n
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如何将vue组件插入到contenteditable div中

    我想用 vue 创建简单的所见即所得编辑器 我发现只有一个在 vue js 上创建的真正的所见即所得编辑器 这里是 https quasar dev vue components editor 但我没有发现有插入图像的能力 其他 vue w
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 计算机数值分析课学后感,计算方法课程总结 心得体会

    计算方法课程总结 心得体会 一 课程简介 本课程是信息与计算科学 数学与应用数学本科专业必修的一门专业基础课 我们需在掌握数学分析 高等代数和常微分方程的基础知识之上 学习本课程 在实际中 数学与科学技术一向有着密切关系并相互影响 科学技术
  • 白手起家学习数据科学 ——梯度下降法之“优化步长和随机梯度下降篇”(六)

    选择正确的步长 Choosing the Right Step Size 虽然针对梯度移动的基本原理是清楚的 但是移动多少是不清楚的 的确 选择一个合适的步长是一门艺术 流行的选择包括 使用固定的步长 随时间逐步缩小步长 在每次迭代 选择最
  • ajp8009端口分析

    1 AJP是什么 最近有一个ajp的文件包含漏洞CVE 2020 1938很火 因此就研究了一下tomcat的ajp服务 复现了该漏洞 首先我们来看一下ajp是什么 ajp是tomcat的一个转发协议 通过这个协议 我们可以在自己的客户端上
  • linux入门系列9--用户管理及文件权限控制

    前面文章分享了Linux下常用命令以及Shell编程相关知识 本节继续学习Linux用户管理及文件权限控制 Linux是多用户多任务操作系统 具有很好的稳定性和安全性 既然是多用户 那就意味着多个用户可以同时使用同一个Linux操作系统 因
  • 接口自动化测试框架HttpClient-2-GetPost请求

    Get请求 1 请求Url 2 请求参数 3 请求header 4 响应结果断言 5 响应数据提取 public static void getDefault String url 创建一个可关闭的HttpClient对象 Closeabl
  • python实现逻辑回归建模进行分类预测及特征分析

    实现功能 python实现数据读取 数据清洗 数据编码 数据划分 并实现逻辑回归建模分类预测及特征分析 实现代码 导入需要的库 from warnings import simplefilter simplefilter action ig
  • Hypertable sql

    First create a new namespace called Test CREATE NAMESPACE Test and make it the current namespace USE Test Now let s crea
  • ListView 实时刷新数据时出现闪烁的问题

    在ListView所在的窗体类文件里面 比如Form1 另写一个扩展方法 代码如下 public static class DoubleBufferListView
  • 关于微信小程序中左上角返回键触发事件

    此时在详情页点击收藏按钮之后 点击页面左上角的返回事件 需要在列表页同时显示收藏标志 收藏是存在缓存里面的 此时如果列表页想要获取收藏的缓存 不能在onLoad函数中获取缓存 需要在onShow函数中获取 这样页面的图标才会同步显示
  • C语言 json parser - JSMN

    项目地址 GitHub zserge jsmn Jsmn is a world fastest JSON parser tokenizer This is the official repo replacing the old one at
  • python总结——对象

    目录 一 对象的知识 二 对象在内存的存储 一 对象的知识 1 python中 一切皆对象 每个对象有 标识 地址 类型 数据类型 值组成 2 对象的本质 一个内存块 拥有特定的值 支持特定类型的相关操作 3 对象存储在堆 变量存储在栈 变
  • Servlet+JDBC实战开发书店项目讲解第三篇:商品查询实现

    Servlet JDBC实战开发书店项目讲解第三篇 商品查询实现 本篇博客将介绍如何在Servlet JDBC实战开发书店项目中实现商品查询功能 我们将从设计数据库表结构和实体类开始 一步一步详细讲解代码实现过程 包括前端页面的设计和后端S
  • 使用 MCGS 脚本实现开机页面倒数三秒跳转功能

    创建窗口及组件 新建两个窗口 窗口0 与窗口1 其中 窗口0为欢迎界面 窗口1为跳转后界面 在窗口0界面中 添加一个输入框 以方便观看数据的计时情况 实际工程中 是插入图片 以显示欢迎界面 在窗口1 中 添加文本 跳转成功 创建变量 在实时
  • 【 VScode上配置c++编译环境出现报错】

    VScode上配置c 编译环境出现报错 在写好launch json代码 tasks json代码 c cpp properties json代码之后 点击运行第一个 HelloWorld cpp 代码 却出现 No such file o
  • Maven高级

    回顾 1 文件上传 fileupload MultipartFile 将上传的文件保存到硬盘上 获取文件名 2 restful url书写的一种风格 http localhost user 1 springmvc支持restful Post
  • 最小二乘法的拟合原理

    一 最小二乘法的拟合原理 根据 数学指南 书中的解释 图2 数学指南 中对最小二乘法的解释 上面这段话 枯燥且无趣 大家不用厌恶 数学向来这个样子 现在 我们来慢慢认识上面这段话的意思 这句话的意思是说 拟合有两个前提 1 要有N个不同的点
  • 机械手臂c语言如何编程,一种串联机械手臂的示教编程方法

    一种串联机械手臂的示教编程方法 技术领域 0001 本发明涉及一种串联机械手臂的示教编程方法 具体的说是通过体感设备和数据手套检测人的手臂的姿态变化 并且通过计算转换为机器人手臂关节角度的变化 并保存关节角度 完成示教编程 属于机器人及控制
  • idea的使用技巧

    idea的使用技巧 一 断点调试 1 源断点 要输出每一次的参数信息 System out print不应该使用它 它是一个同步方法 是线程安全 过多时会挤占线程 占用资源 内部实现 public void println int x sy
  • java word转pdf

    这里找了三种比较简单的工具 poi jacob和aspose poi 注意 版本不太高 版本太高有报错 依赖
  • axios 使用总结

    功能简介 axios是第三方封装库 作用是在框架中使用数据请求 安装 npm install axios S 在Vue 项目文件中的main js 文件 定义axios请求类的全局引用 核心代码如下 特点 1 它在浏览器中创建的是浏览器对象