vue--配套axios用法
vue官方早就推荐axios,抛弃vue-resource。
axios常规用法
安装: npm install axios
栗子:
1.GET
请求
// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345').then(response=>{console.log(response);}).catch(function (error) {console.log(error);});
//换个姿势实现
axios.get('/user', {params: { //区别: get是用params传值ID: 12345}}).then(response=>{console.log(response);}).catch(function (error) {console.log(error);});
复制代码
2.POST
请求
axios.post('/user', { // post是用对象传值 firstName: 'Fred',lastName: 'Flintstone'}).then(response=>{console.log(response);}).catch(function (error) {console.log(error);});复制代码
3.执行多个并发请求
function getUserAccount() {return axios.get('/user/12345');
}
function getUserPermissions() {return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()]).then(axios.spread(function (acct, perms) { //两个参数分别代表返回的结果// 当这两个请求都完成的时候会触发这个函数}));复制代码
axios -API
axios(config) //传配置,建请求{config},完整的包含then和catch
// 发送 POST 请求
axios({ //配置好一个对象,传递进去method: 'post',url: '/user/12345',data: {0firstName: 'Fred',lastName: 'Flintstone'}
});// 发送 GET 请求(默认的方法)
axios('/user/12345');复制代码
请求方法-别名列表
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
并发
axios.all(iterable)//iterable是一个可以迭代的参数如数组等
axios.spread(callback)//callback要等到所有请求都完成才会执行
实例
var instance = axios.create({baseURL:"https://some-domain.com/api/",timeout:1000,headers: {'X-Custom-Header':'foobar'}
});复制代码
实例--全局默认配置
实例--自定义默认配置
var instance = axios.create({ baseURL: 'https://api.example.com' }); //创建
instance.defaults.headers.common["Authorization"] = AUTH_TOKEN;//修改
响应结构
axios.get('/user/12345').then(function(response) {console.log(response.data);console.log(response.status);console.log(response.statusText);console.log(response.headers);console.log(response.config);});复制代码
拦截器----这货很有用
在请求或响应被 then
或 catch
处理前拦截它们。
// 添加请求拦截器
axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {// 对响应数据做点什么return response;}, function (error) {// 对响应错误做点什么return Promise.reject(error);});复制代码
移除拦截器
var myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);复制代码
---------------------------------来势汹汹的分割线------------------------------------------
整理些有用的实现例子
栗子1:封装到vue原型上使用
import axios from 'axios'Vue.prototype.$http= axios复制代码
methods: {show() {this.$http({method: 'get',url: '/class',data: {name: 'liu'}})}复制代码
------------------------------------------------------------------------------------------
栗子2
import axios from 'axios'
复制代码
// 超时时间
axios.defaults.timeout = 13000;复制代码
//跨域请求,允许保存cookie
axios.defaults.withCredentials = true;复制代码
//错误提示信息
let msg='服务器被外星人拉走了';
let loadinginstace; //提示控件
//http请求拦截
axios.interceptors.request.use(config=>{//服务器请求中动画loadinginstace=Loading.service({fullscreen: true});//配置token后期会改//config.headers['X-token'] = getToken(); //做些配置处理return config //返回配置
},err=> { //请求失败处理 //打印错误loadinginstace.close();Message.error({message: '加载超时'});return Promise.reject(err);
});//http 响应拦截
axios.interceptors.response.use(data=>{loadinginstace.close();return data
},err=>{ //响应失败处理loadinginstace.close();Message.error({message:msg});return Promise.reject(err);
});export default axios复制代码
一个老铁二次封装的例子:
https://segmentfault.com/a/1190000012332982
vue--配套axios用法相关推荐
- vue中axios如何实现token验证
title: vue中axios如何实现token验证 date: 2018-02-08 17:50:07 tags: [axios,vue] 继上篇实现Auth认证之后,然后每个跳转页面都会在后端验 ...
- 解决在vue中axios请求超时的问题
解决在vue中axios请求超时的问题 参考文章: (1)解决在vue中axios请求超时的问题 (2)https://www.cnblogs.com/zhouyangla/p/8757149.htm ...
- axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- 你可能不清楚的 Vue Router 深度用法(二)
此为 Vue Router 深度用法的第二篇,主要讲述动态路由匹配用法.第一篇的链接在此: https://segmentfault.com/a/11... 动态路由匹配是用于把某种模式匹配到的所有路 ...
- ASP.NET Core微服务(四)——【静态vue使用axios解析接口】
ASP.NET Core微服务(二)--[ASP.NET Core Swagger配置]: 环境:win10专业版+vs2019+sqlserver2014/2019+vsCode+在线资源 boot ...
- Vue使用axios,设置axios请求格式为form-data
Vue使用axios,设置axios请求格式为form-data 这个老生常谈了,还是先记录一遍,方面后面自己查. !!! 设置form-data请求格式直接翻到后面看. 1. 安装axios 在项目 ...
- vue使用axios并存数据到state
npm安装 npm install axios --save main.js导入 // 引入axios,并加到原型链中 import Axios from 'axios' import QS from ...
- vue 使用axios
axios 基于http客户端的promise,面向浏览器和nodejs 特点 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API ...
- vue应用axios.get请求的代码格式(2种)- 代码篇
vue应用axios.get请求的代码格式(2种)- 代码篇 代码: axios.get(this.serverPath+'/supermarket/fruits/options?id='+id, { ...
- vue中axios设置表单头_VUE项目axios请求头更改Content-Type操作
我就废话不多说了,大家还是直接看代码吧~ const httpServer = (opts, data) => { const token = localStorage.getItem('tok ...
最新文章
- 伸展树算法c语言,数据结构伸展树介绍及C语言的实现方法
- 机器学习算法库scikit-learn的安装
- “AI独角兽”半年巨亏52亿 旷视科技的IPO之路会好走吗?
- 论文笔记:CycleGAN
- #让人物运动_篮球人物之黄云龙,淡泊名利的他是篮球运动员中的楷模,你可记得...
- 20145240《信息安全系统设计基础》第十四周学习总结
- 傻瓜神经网络入门指南
- tcga数据下载_手把手教你用R下载TCGA数据:CGDSR包
- 回溯算法与八皇后问题
- 面向服务架构十大技术与基础理论
- 计算机语言入门vfp,VFP基础教程第二章VFP语言基础3
- 23种设计模式——适配器模式
- HFSS初探日志(二)微波滤波器设计实例:微带发夹线滤波器
- 怎么查询逆水寒服务器角色信息,逆水寒服务器状态
- 服务器背板作用,硬盘和服务器背板
- 鹅厂同学:7 月开始不再进行薪酬调整?
- 【云和恩墨】高能分布式架构 zData | 敏捷提速某保险公司核心系统全速运行
- DDoS 攻击与防护(一):如何识别 DDoS 攻击?DDoS 防护 ADS 服务有哪些?
- 服务器如何设置防火墙?
- 选择合适的iOS培训机构有技巧
热门文章
- Hadoop阅读笔记(一)——强大的MapReduce
- Linux时间不准确的问题![转]
- CSS3下的渐变文字效果实现
- 题解 P2610 【[ZJOI2012]旅游】
- 一步一步教您用websocket+nodeJS搭建简易聊天室(4)
- 华为P10的内存门和闪存门的检测方法
- Metasploit是一款开源的安全漏洞检测工具,
- FPGA跨时钟域异步时钟设计的几种同步策略
- WCF BasicHttpBinding 安全解析(1)BasicHttpBinding基本配置
- 利用装饰器实现mock和api的局部分离切换