vue整合axios 未完

一、简介

1、介绍

  • axios前端异步请求库类似jouery ajax技术,
  • axios用来在前端页面发起一个异步请求,请求之后页面不动,响应回来刷新页面局部;
  • Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中

2、特性:

  • 从浏览器中创建XLHttpRequests从node.js 创建http请求
  • 支持Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据取消请求
  • 自动转换JSON数据,客户端支持防御XSRF

二、引用步骤

1、安装

bash 复制代码
cnpm i axios --save

2、全局引用

javascript 复制代码
//在main.js里面引用
...
import axios from 'axios'
...
Vue.prototype.axios = axios;
 
new Vue({
    axios,
    router,
    store,
    render:h=>h(App)
}).$mount('#app'

三、基本使用

1、异步请求之GET方式(查询)

javascript 复制代码
axios.get("http://localhost:8081/demo?id=21&name=xiaowang ").then( function(res){
    //代表请求成功之后处理
	console.log(res);
	console.1og (res.data);
}).catch( function (err){
    //代表请求失败之后处理
	alert ('进入catch ')
	console.log (err);
});

2、发送异步请求之POST方式(添加)

javascript 复制代码
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

3、其他方式的请求

javascript 复制代码
axios.put(.then( ).catch ( ); //修改
axios.patch( ).then( ).catch( );
axios.delete( "ur1?id=21").then ( ).catch ( ); //删除

4、axios创建默认实例发送请求

javascript 复制代码
//创建axios的配置对象
var instance = axios. create({
	baseURL: 'http://localhost:8081/',
    timeout: 5000,
});

instance.get("/demo?id=21&name=xiaowang ").then( function(res) {
    //代表请求成功之后处理
	console.log(res);
	console.1og (res.data);
}).catch( function (err) {
    //代表请求失败之后处理
	alert ('进入catch ');
	console.log (err);
});

5、axios拦截器(interceptor)

分类:
  • 请求拦截器:在请求发送前进行必要操作处理,例如添加统一的cookie、请求体加验证、设置请求头等,相当于是对每个接口里相同操作的一个封装;
  • 响应拦截器:对响应结果(响应体)进行处理,通常是数据统一处理等,也常来判断登录失效等。
作用:
  • 用来将axios中共有参数,响应公共处理等公共部分,交给拦截器处理,减少axios发送请求时代码冗余。
拦截器一般做什么?
  • 修改请求头的一些配置项
  • 给请求的过程添加一些请求的图标
  • 给请求添加参数
  • 对响应结果进行处理

封装axios

封装参考

相关推荐
Hilaku15 分钟前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
雪芽蓝域zzs17 分钟前
第25章:地图下钻交互(点击省份,切换到对应省份城市地图)
vue.js·echars
lichenyang45327 分钟前
鸿蒙元服务跳转 H5 太慢?从 Web 内核预热、网络预连接到骨架屏的完整优化方案
前端
aa小小35 分钟前
大屏的数据应该怎么做“实时更新“?大屏页面如果一直开着不关(比如挂了几天几夜),你觉得可能会出现什么问题,需要怎么预防?
前端·数据可视化
陈拉斯44 分钟前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript
daols881 小时前
vue 甘特图组件 vxe-gantt 自动计算工期显示关键路径
vue.js·vxe-gantt
aa小小1 小时前
Proxy 响应式原理
前端·proxy
计算机魔术师1 小时前
Latent Space 访谈 TypeSafe CEO Diogo Almeida:Jev 是面向生产环境的 System One 模型而非万能 God 模型
前端
—Qeyser1 小时前
Element Plus 安装与配置指南 (Vue 3 + Vite + TS)
vue.js