Vue+axios封装请求实现前后端分离


Posted in Javascript onOctober 23, 2020

本文实例为大家分享了Vue+axios封装请求实现前后端分离的具体代码,供大家参考,具体内容如下

前言

我们需要进行前后端分离开发,那么前后端的跨域问题就是无可避免的问题,前后端的请求也是无可避免的,Vue之中有一个请求组件是axios,我们可以对axios进行封装作为我们请求的工具组件

# 一、封装axios
vue.config.js 配置文件

module.exports = {
 configureWebpack: {
 resolve: {
 alias: {
 api: '@/api',
 assets: '@/assets',
 components: '@/components',
 layouts: '@/layouts',
 router: '@/router',
 store: '@/store',
 utils: '@/utils',
 views: '@/views'
 }
 }
 },
 devServer: {
 //端口
 port: 8081,
 //后端接口
 proxy: {
 '/api': {
 target: 'http://localhost:8099', // 目标代理接口地址
 changeOrigin: true, // 开启代理,在本地创建一个虚拟服务端
 // ws: true, // 是否启用websockets
 pathRewrite: {
  '^/api': ''
 }
 }
 }
 }
}

request.js,封装组件

//配置axios
import axios from 'axios'

const instance = axios.create({
 baseURL: '/api',
 timeout: 6000
})


instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
//请求拦截器
instance.interceptors.request.use(
 function(config) {
 return config
 },
 function(error) {
 //对请求错误做些什么
 return Promise.reject(error)
 }
)
//响应拦截器
instance.interceptors.response.use(
 function(response) {
 return response.data
 },
 function(error) {
 //对响应错误做点什么
 return Promise.reject(error)
 }
)

export default function(method, url, data = '', config = '') {
 method = method.toLowerCase()
 if (method === 'post') {
 if (config !== '') {
 return instance.post(url, data, config)
 } else {
 return instance.post(url, data)
 }
 } else if (method === 'get') {
 return instance.get(url, {params: data})
 } else if (method === 'delete') {
 return instance.delete(url, {params: data})
 } else if (method === 'put') {
 return instance.put(url, data)
 } else {
 console.error('未知的method' + method)
 return false
 }
}

api.js,接口文件

import req from '@/utils/request'

/**
 * 批量查询
 * @param params
 */
export const list = params => req("get", "/resource/list", params);

具体的页面之中进行导入使用即可

总结

这就是vue中对于axios的初步封装使用,后续会持续更新

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
常用的javascript function代码
May 23 Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
JS分页控件 可用于无刷新分页
Jul 23 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
easyui validatebox验证
Apr 29 Javascript
vue cli 3.x 项目部署到 github pages的方法
Apr 17 Javascript
vue中keep-alive、activated的探讨和使用详解
Jul 26 Javascript
vue实现树状表格效果
Dec 29 Vue.js
构建一个JavaScript插件系统
Oct 20 #Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
Oct 20 #Javascript
原生js实现俄罗斯方块
Oct 20 #Javascript
React实现评论的添加和删除
Oct 20 #Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 #Javascript
微信小程序使用前置摄像头拍照
Oct 22 #Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 #jQuery
You might like
PHP Socket 编程
2010/04/09 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
offsetParent 算法分析
2010/04/05 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
移动端脚本框架Hammer.js
2016/12/15 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
Python中的Cookie模块如何使用
2020/06/04 Python
用python写爬虫简单吗
2020/07/28 Python
详解pandas赋值失败问题解决
2020/11/29 Python
python openpyxl模块的使用详解
2021/02/25 Python
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
晚会主持词开场白
2014/03/17 职场文书
社区交通安全实施方案
2014/03/22 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
音乐教师求职信
2014/06/28 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
市场营销计划书范文
2015/01/16 职场文书
道歉信怎么写
2015/05/12 职场文书
初二英语教学反思
2016/02/15 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL