/**第一步
* 配置编译环境和线上环境之间的切换
* baseUrl: 域名地址
* routerMode: 路由模式
* imgBaseUrl: 图片所在域名地址
*
*/
let Host = '';
let routerMode = 'hash';
//let imgBaseUrl; if(process.env.NODE_ENV == 'development') {
Host = 'http://test.xxx.com'; //测试环境 host
//imgBaseUrl = 'http://cangdu.org:8001/img/'; //如果图片需要放到第三方平台可以更改网络路径 } else if(process.env.NODE_ENV == 'production') {
Host = 'http://xxx.com'; //生产环境 host
//imgBaseUrl = 'http://cangdu.org:8001/img/'; //如果图片需要放到第三方平台可以更改网络路径
} export {
Host,
routerMode
//imgBaseUrl,
}
//第二步
import { Host } from './env';
import Vue from 'vue';
import axios from 'axios';
import { ToastPlugin, AlertPlugin } from 'vux';
import Qs from 'qs';
//axios.defaults.timeout = 5000; //响应时间
axios.interceptors.request.use(function(config) {
//在发送请求之前做一些事情
return config;
}, function(error) {
// 请求错误做一些事情
return Promise.reject(error);
}); axios.interceptors.response.use(function(response) {
//对响应数据做一些处理
return response;
}, function(error) {
// 对响应失败做一些处理
return Promise.reject(error);
}); //get封装
export function getAjax(url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
})
.then(response => {
resolve(response.data);
})
.catch(err => {
reject(err)
})
})
}
//post封装
export function postAjax(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, Qs.stringify(data), {
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencoded',
}
})
.then(response => {
resolve(response.data);
}, err => {
reject(err)
})
})
}
//第三步
import { Host } from './env';
import { getAjax, postAjax } from './http'
import { formatParam } from './mUtils'
import Qs from 'qs';
//报名预订
export function signUpAdvance(phoneNum, code) {
let data = {
phone: phoneNum,
captcha: code,
}
const res4 = postAjax(`${Host}/website/login`,data);
return res4;
} // 短信填写
export function getCode(pages) {
let params = {
page: pages
}
const res6 = getAjax(`${Host}/website/banner/?${formatParam(params)}`);
return res6;
}
//第四步(组件内使用)
<script>
import { getCode, signUpAdvance } from '../config/api'
export default {
data() {
return { }
},
created() {
//get请求
getCode('home').then(res => {
console.log(res);
}).catch(err => {
console.log(err);
}) },
mounted() {
//post请求
signUpAdvance('15220074083','400220').then(res => {
console.log(res);
}).catch(err => {
console.log(err);
})
}
} </script>

axios的简单封装及在组件内使用的更多相关文章

  1. axios简单封装

    写在最前面 新手前端刚刚接触vue,感觉真的好用.项目中需要使用axios,然后学习了一下.借鉴网上一些大佬的经验,现在分享一下axios的简单封装,如果有什么错误的地方,请大家指出. axios安装 ...

  2. 简单封装axios api

    可以在代码逻辑中写axios请求,处理请求结果,但是随着项目越来越大,代码会很繁琐,不容易维护,所以,可以把一些在所有请求中都要处理的逻辑抽取出来,封装成api方法.比如每次请求中都要判断是否有权限, ...

  3. 用XHR简单封装一个axios

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 微信小程序简单封装图片上传组件

    微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...

  5. 继续封装个 Volley 组件

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 前面已经封装了很多常用.基础的组件了:base-module, 包括了: crash 处理 常用工具类 apk 升级处理 log 组 ...

  6. AngularJS指令封装高德地图组件

    1 概述 公司移动门户原来是基于AngularJS指令封装的百度地图组件,用于签到.签退.定位等功能,在使用过程中发现百度地图频繁的弹出广告,所以打算重新引用其它地图组件,最后决定基于AngularJ ...

  7. day 87 Vue学习六之axios、vuex、脚手架中组件传值

      本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的使用 Axios 是一个基于 promise 的 HT ...

  8. 原生 Ajax 封装 和 Axios 二次 封装

    AJAX 异步的JavaScript与XML技术( Asynchronous JavaScript and XML ) Ajax 不需要任何浏览器插件,能在不更新整个页面的前提下维护数据,但需要用户允 ...

  9. vuex存取token,http简单封装、模拟登入权限校验操作、路由懒加载的几种方式、vue单页设置title

    1.config index.js下面的跨域代理设置: proxyTable: { '/api': { target: 'http://xxxx', //要访问的后端接口 changeOrigin: ...

随机推荐

  1. WAS:节点不同步问题

    刀片服务器硬盘坏了,换了硬盘后,通过dmgr无法重启该节点上的server. 单机./starServer 后,服务虽然启动了,但后台一直提示如下: [-- ::: CST] RoleViewLead ...

  2. 阮一峰 KMP BM算法

    存一个链接,讲得好啊! 点击这里打开     字符串KMP 点击这里打开     字符串匹配的Boyer-Moore算法

  3. 探索Oracle11gR2 之 DataGuard 三种保护模式

    Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.maxprotection这三种模式. 以下是来自Oracle文档的摘要信息 ...

  4. NOI1995 石子合并

    传送门 这道题是经典的区间DP.因为它要求有每两个相邻的石子堆合并,所以很显然对于区间[l,r]内的情况,我们只要枚举端点k,之后把这左右两端的石子合并取最大/小即可. 之后,这题是环形怎么破?显然不 ...

  5. ASP.NET Core:创建一个Core项目

    ylbtech-ASP.NET Core:创建一个Core项目 1.返回顶部 1. 2. 3. 4.         5. 2.返回顶部 1.新建Razor页面 2. 3. 4.Abc 4.1.Abc ...

  6. maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解

    转自:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral @_@ 写在最前 之 ...

  7. View Programming Guide for iOS ---- iOS 视图编程指南(三)---Windows

    Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...

  8. ACM中java的使用

    ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输 ...

  9. POJ1700 【经典过河问题,贪心】

    题意: n个人过河, 船每次只能坐两个人, 然后船载每个人过河的所需时间不同, 问最快的过河时间. 思路: 仅仅启发一下思维: 我相信很多人一下子的想法就会有,每次最快和那些慢的过去,然后让最快一直来 ...

  10. 用动态链表high-poj 1528

    //2333333 题目超级水,但是!刚学了链表拿来high一high也不错啊. #include <iostream> #include <stdio.h> #include ...