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 相关文章推荐
jquery异步请求实例代码
Jun 21 Javascript
jQuery cdn使用介绍
May 08 Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 Javascript
jquery的each方法使用示例分享
Mar 25 Javascript
js中的json对象详细介绍
Oct 29 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
jQuery实现文件上传进度条特效
Aug 12 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
JavaScript实现输入框与清空按钮联动效果
Sep 09 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
构建一个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预定义常量
2006/12/25 PHP
php 缓存函数代码
2008/08/27 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
smarty中常用方法实例总结
2015/08/07 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
python根据京东商品url获取产品价格
2015/08/09 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python读取文件名并改名字的实例
2019/01/07 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
出纳岗位职责模板
2013/11/27 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
财务工作失职检讨书
2014/11/21 职场文书
工程质检员岗位职责
2015/04/08 职场文书
红色经典观后感
2015/06/18 职场文书
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS