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// 这里只 ...
随机推荐
- TCP协议之三次握手(二)
本节主要研究三次握手出现的一些异常情况和编程相关的知识: 上一节分析了三次握手的过程,本节会回答一些三次握手的小问题,然后利用linux系统调用实践一下简单的网络的编程. 三次握手的常见问题 Q 向一 ...
- C++实现双向链表的相关操作代码
#include<iostream>#include<cstdlib>using namespace std;#define OK 1#define ERROR 0#defin ...
- redhat单网卡配置多个IP
单网卡配置多个IP 进入配置网络的文件目录 复制网络配置文件并修改名字 配置网络 网络1 网络2 激活网络设备 重启网络 重启计算机,查看IP地址 (有问题可以提出来)
- macOS 10.14安装win10教程 bootcamp篇
由于工作以及系统使用习惯上的原因,拥有Mac电脑的用户常常需要用到windows系统,这个时候我们就需要在Mac上安装双系统来满足这一需求,一起来看看macOS 10.14安装win10教程吧. ma ...
- Qt中QGraphicsScene和QraphicsView显示坐标问题解决
相信打开这个界面的你,一定遇到了这两玩意儿设置完坐标发现对不上的问题...查询Qt官方文档后发现: 网上搜索了一番,基本上这个坐标系就是长酱紫: 所以加上这行代码就行了: ui->graphic ...
- Python面向对象编程——__init()__方法
隐式基类object 每个python类都隐式继承object 全文代码实例实现:枚举扑克牌的花色和牌面值 一._init()__方法:对象初始化 显示而非隐式:__init()__应显示展示初始化变 ...
- CCIE DC Multicast Part 1.
Hi Guys! As we all wait anxiously for the training vendors to release Rack Rentals (Come on guys! At ...
- 学习笔记||使用Vue时踩过的坑1.0
vue介绍:https://cn.vuejs.org/v2/guide/ 1.安装npm install时,长时间停留在fetchMetadata: sill mapToRegistry uri ht ...
- npm start ERROR
npm start 遇到问题 Attempting to bind to HOST environment variable: x86_64-apple-darwin13.4.0 If this wa ...
- 前端element ui 文件base64加密字符串 上传
<el-form-item label="附件" prop="attachment"> <el-upload :multiple=" ...