/**第一步
* 配置编译环境和线上环境之间的切换
* 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. 一步一步学Silverlight 2系列(10):使用用户控件

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  2. stl里面的空间适配器

    一般而言,如果频繁地向system heap申请和释放空间很小的内存空间块(小于128B的),就会对系统内存资源产生很多内存碎片(fragment)的问题,而C++的::operator new() ...

  3. ubuntu docker的安装和使用

    Docker CE for Ubuntu Docker CE for Ubuntu is the best way to install the Docker platform on Ubuntu L ...

  4. 自写程序调用mount

    代码: int fd = open("/dev/fuse", O_RDWR); printf("fd=%d\n",fd); int res; res=mount ...

  5. Oracle中如何用SQL检测字段是否包括中文字符

    用Oracle的编码转换的函数Convert实现,测试后可行. SQL> select *  2    from (select 'abcd' c1 from dual  3          ...

  6. SPOJ:One piece(不错的带权括号最大匹配问题)

    One of DB and TN common interests is traveling. One day, they went to Grand Line and found One Piece ...

  7. [Selenium] IOS 之 appium

    从 Selenium 的官方文档来看,推荐用户使用 ios-driver 或 appium 而不是官方发布的 iPone Driver. 他们的地址分别是: http://ios-driver.git ...

  8. liunx下的权限详解

    用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建 ...

  9. 【USACO】The Cow Prom

    [题目链接] 点击打开链接 [算法] tarjan求强连通分量 [代码] #include<bits/stdc++.h> #define MAXN 20005 using namespac ...

  10. javascript之数组的6种去重方法

    去重 var arr=[11,11,333,4,4,5,66,66,7]; // 方法一:在新数组内判断不存在时加入 var newarr1=[]; function quchong1(){ for( ...