vue中axios使用封装
时间:2019-12-12
本文章向大家介绍vue中axios使用封装,主要包括vue中axios使用封装使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、在main.js导入
// 引入axios,并加到原型链中 import axios from 'axios'; Vue.prototype.$axios = axios; import QS from 'qs' Vue.prototype.qs = QS;
二、创建http.js文件(与main.js一级)
import axios from 'axios';
import qs from 'qs';//转换请求参数格式,需要时使用 axios.defaults.baseURL = process.env.BASE_API; axios.defaults.timeout = 5000; // 添加请求拦截器 axios.interceptors.request.use(function (config) { // 在发送请求之前做些什么,例如加入token //config.headers.Authorization = '123'; return config; }, function (error) { // 对请求错误做些什么 return Promise.reject(error); }); // 添加响应拦截器 axios.interceptors.response.use(function (response) { // 在接收响应做些什么,例如跳转到登录页 return response; }, function (error) { // 对响应错误做点什么 return Promise.reject(error); }); //返回一个Promise(发送post请求) export function fetchPost(url,params){ return new Promise((resolve, reject) => {//ES6构造函数 -- 待学习 axios.post(url, params) .then(response => { resolve(response); }, err => { reject(err); }) .catch((error) => { reject(error) }); }); } //返回一个Promise(发送get请求) export function fetchGet(url, param) { return new Promise((resolve, reject) => { axios.get(url, {params: param}) .then(response => { resolve(response) }, err => { reject(err) }) .catch((error) => { reject(error) }) }) } export default { fetchGet, fetchPost }
三、在要使用的vue模块导入并使用
import https from '../https.js' // 注意用自己的路径 // 请求后台数据================== loginPost: function () { let params ={'username': 'admin', 'password': 'admin123', 'rememberMe': 'true','isMobile':'1'} https.fetchPost('/login',params ).then((data) => { this.base.token = data.data.token // console.log("this.base.tokenthis.base.token",this.base.token) this.indexPost2(this.rres) }).catch(err=>{ console.log(err) } ) }, indexPost2:function (date) { var this_ = this this_.check = false var jobj ={data:{'menuDate': date,'token':this.base.token}} let string = JSON.stringify(jobj) let params = {dailyInfo:string} https.fetchPost('/meals/mobile/getDailyMenuByDate', params) .then((data) => { this_.base.indexData = data this_.check = true // console.log('thenthenthenthen',data) }) .catch((err)=>{ console.log(err) }) }, // ================================================ },
原文地址:https://www.cnblogs.com/1156063074hp/p/12030288.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法