关于ajax的封装
程序员文章站
2022-08-15 16:30:06
env.js:/** * * baseUrl: 域名地址 * baseImgPath: 图片存放地址 * */let baseUrl = 'https://www.nbql.org.cn';let baseImgPath;var baseOrigin=window.location.origin;if(baseOrigin&&baseOrigin.includes('http')&&baseOrigin!='http://localhost:8080')...
env.js:
/**
*
* baseUrl: 域名地址
* baseImgPath: 图片存放地址
*
*/
let baseUrl = 'https://www.nbql.org.cn';
let baseImgPath;
var baseOrigin=window.location.origin;
if(baseOrigin&&baseOrigin.includes('http')&&baseOrigin!='http://localhost:8080'){
baseUrl=window.location.origin;
}
export {
baseUrl,
// routerMode,
baseImgPath
}
request.js:
import axios from 'axios';
import {
baseUrl
} from './env';
//自动切换环境
axios.defaults.baseURL = baseUrl; //默认请求地址
//设置超时时间
axios.defaults.timeout = 10000;
// post请求头
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
//对外接口
export function request({
method,
url,
params
}) {
if (method == 'Get') {
return get(url, params);
} else if (method == 'Post') {
return post(url, params);
} else if (method == 'Upload') {
return upload(url, params);
}
}
// 封装get方法
function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
}).then(res => {
resolve(res.data);
}).catch(err => {
reject(err.data);
})
});
}
// 封装post方法
function post(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, QS.stringify(params)).then(res => {
resolve(res.data);
}).catch(err => {
reject(err.data);
})
});
}
// 封装upload方法
function upload(url, params) {
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
};
return new Promise((resolve, reject) => {
axios.post(url, params, config).then(res => {
resolve(res.data);
}).catch(err => {
reject(err.data);
})
});
}
service.js:
import {
request
} from '../config/request'
const xxxServer = { //自定义名称
xxxGet(params) { //get调用示例
return request({
method: 'Get',
url: '路径',
params: params
})
},
xxxUpload(params, flag) {
if (flag && flag == 1) { //upload示例
return request({
method: 'Upload',
url: '路径',
params: params
})
} else {
return request({
method: 'Post',
url: '路径',
params: params
})
}
},
xxxPost(params) { //post示例
return request({
method: 'Post',
url: '路径',
params: params,
})
}
}
export default xxxServer
实际调用:
import xxxServer from '路径'
xxxServer.xxxGet({参数}).then(res=>{
...
}).catch(err =>{
...
})
本文地址:https://blog.csdn.net/NBUT_King/article/details/107958613
上一篇: 微信状态新增“冲”:以吴亦凡为原型打造
下一篇: Git失效xcrun: error: invalid active developer path (/Applications/Xcode.app/Contents/Developer)
推荐阅读
-
关于session的几个补充函数(转_PHP教程
-
整理关于Bootstrap排版的慕课笔记
-
python操作日志的封装方法(两种方法)
-
iOS实现无限循环图片轮播器的封装
-
thinkphp3.2.1坑爹的一次性验证码,ajax要2次验证啊!
-
关于Maven项目build时出现No compiler is provided in this environment的处理
-
关于Maven项目build时出现No compiler is provided in this environment的处理
-
关于Maven项目build时出现No compiler is provided in this environment的处理
-
关于echo输出的字符串乱码有关问题
-
ThinkPHP 框架 关于数据库是否存在某值的有关问题