Vue2使用axios,request.js和vue.config.js
1.配置request.js,用来请求数据

import axios from 'axios' // 1:利用axios对象的方法create,创建一个axios实例
// 2:request就是axios,但可以稍加配置
const request = axios.create({
baseURL: '/api', // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!!
timeout: 5000
}) // request 拦截器,请求拦截器,在发请求之前,请求拦截器可以检测到
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config => {
config.headers['Content-Type'] = 'application/json;charset=utf-8'; // config.headers['token'] = user.token; // 设置请求头
return config
}, error => {
return Promise.reject(error)
}); // response 拦截器, 响应拦截器
// 可以在接口响应后统一处理结果
request.interceptors.response.use(
response => {
let res = response.data;
// 如果是返回的文件
if (response.config.responseType === 'blob') {
return res
}
// 兼容服务端返回的字符串数据
if (typeof res === 'string') {
res = res ? JSON.parse(res) : res
}
return res;
},
error => {
console.log('err' + error) // for debug
return Promise.reject(error)
}
) // 对外暴露
export default request
2.再main.js中注册

// 引入axios配置
import request from './api/request';
Vue.prototype.request = request
3.接下来就可以在页面中发送请求,如

// 新增or修改
save() {
this.request.post("/user/saveOrUpdate", this.form).then((res) => {
if (res) {
this.$message.success("保存成功");
this.dialogFormVisible = false;
this.load();
} else {
this.$message.error("保存失败");
this.dialogFormVisible = false;
}
});
}

// 删除
handleDelete(id) {
this.request.delete("/user/delete" + id).then((res) => {
if (res) {
this.$message.success("删除成功");
this.load();
} else {
this.$message.error("删除失败");
}
});
} // 批量删除
deleteBatch(){
let ids =this.multipleSelection.map(v=>v.id) //{[],[],[]}=>[1,2,3]
this.request.post("/user/deleteBatch" , ids).then((res) => {
if (res) {
this.$message.success("批量删除成功");
this.load();
} else {
this.$message.error("批量删除失败");
}
});
}
Vue2使用axios,request.js和vue.config.js的更多相关文章
- Vue项目搭建常用的配置文件,request.js和vue.config.js
request.js用来请求数据,封装的代码如下: import axios from 'axios' const request = axios.create({ timeout: 5000 }) ...
- webpack.config.js和vue.config.js的区别
webpack.config.js是webpack的配置文件,所有使用webpack作为打包工具的项目都可以使用,vue的项目可以使用,react的项目也可以使用. vue.config.js是vue ...
- Vue.js CLI4 Vue.config.js标准配置 (最全注释)
前言: Vue.js CLI工具 不知不觉发展到了4.0时代,CLI给人最直白的感受是没有了build文件夹跟config文件夹,所有的配置都在Vue.config.js完成.那么该文件的配置至关重要 ...
- vue-cli & webpack & vue.config.js
vue-cli & webpack & vue.config.js configureWebpack // vue.config.js module.exports = { confi ...
- vue.config.js常用配置
使用vue-cli3.0搭建项目比之前更简洁,没有了build和config文件夹. vue-cli3的一些服务配置都迁移到CLI Service里面了,对于一些基础配置和一些扩展配置需要在根目录新建 ...
- 减少打包组件vue.config.js——Webpack的externals的使用
vue.config.js module.exports = { configureWebpack:{ externals: { vue: 'Vue', 'vue-router':'VueRouter ...
- vue-cli3的vue.config.js文件配置,生成dist文件
//vue.config.jsonconst path = require('path'); // const vConsolePlugin = require('vconsole-webpack-p ...
- Vue技术点整理-vue.config.js
1,proxy代理解决本地开发环境跨域问题 配置proxy代理后,proxy会将任何未知请求 (没有匹配到静态文件的请求) 代理到 https://192.168.3.49:8080 vue.conf ...
- vue3.0 vue.config.js 配置实战
今天讲述一下vue-config.js配置,我们前面搭建好脚手架会发现,这个对比2.x版本少了很多东西,没有build的配置,也没有webpack的配置,那么问题来了,我们如何去开发我们的项目呢,比如 ...
- vue cli3.3 以上版本配置vue.config.js
// vue.config.js 配置说明//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions// 这里只 ...
随机推荐
- mixup: BEYOND EMPIRICAL RISK MINIMIZATION概述
参考简书,github 0.前言 相关资料: arxiv github 论文解读 论文基本信息: 领域:数据增强 发表时间:arxiv 2022(2022.5.1) 1.针对的问题 大型的深度神经网络 ...
- ionic 架构
1.路由:rout,页面内容:html,页面css:scss,js脚本内容:ts 2.功能介绍 路由:负责组织每个页面. 页面css:scss,负责定制每个组件的内容,比如组件是iobag,那么在这个 ...
- asp.net mvc api swagger 配置
1.安装插件 Swashbuckle(版本5.6.0) 和 Swagger.Net.UI(版本1.1.0) 2.SwaggerNet类中注释掉一下代码: using System; using Sys ...
- Mac预览怎么用 Mac预览功能实用技巧大全
Mac预览怎么用?有很多的用户以为Mac自带的预览功能只具有简单的图片浏览功能,其实不然,其实"预览"是一款强大的看图.修图.改图软件,也同时是一款多功能的 PDF 阅读与编辑工具 ...
- ubuntu18.04.3新装系统安装QT5.14.1和环境配置
第一步:下载QT: http://download.qt.io/archive/qt/ 或者 https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/ 下 ...
- Linux 使用vsftpd服务传输文件
文件传输协议 FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命 ...
- 安卓蓝牙协议栈中的RFCOMM状态机分析
1.1 数据结构 1.1.1 tRFC_MCB tRFC_MCB(type of rfcomm multiplexor control block的简写)代表了一个多路复用器.代表了RFCOMM规范 ...
- Day15-static、抽象类、接口、内部类
static.抽象类.接口.内部类 一.static关键字详解 1.静态的变量/方法 package Demo02; //static public class Student { private s ...
- 04 ajax执行php并传递参数
做这个事情之前要导入jQuery js的方式 _this.value1 = "abc"; _this.value2 = 1; $.ajax({ url: 'xxxxxx.php', ...
- guava缓存
Guava Cache有一些优点如下 :1. 线程安全的缓存, 与ConcurrentMap相似(前者更"好"), 在高并发情况下.能够正常缓存更新以及返回.2. 提供了三种基本的 ...