详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
重现步骤
[步骤]
代码封装
/
封装uni.request ajax请求
****/
function xxx_Ajax(option){
// debugger;
var url = option.url;
var data = XXXAPI.isEmpty(option.data) ? {} : option.data;
var header = XXXAPI.isEmpty(option.header) ? {} : option.header;
header['content-type'] = XXXAPI.isEmpty(header['content-type']) ? 'application/json' : header['content-type'];
var method = XXXAPI.isEmpty(option.method) ? 'POST' : option.method; //默认POST
var dataType = XXXAPI.isEmpty(option.dataType) ? 'json' : option.dataType; //默认json
var responseType = XXXAPI.isEmpty(option.responseType) ? 'text' : option.responseType; //默认text
uni.showLoading({
title: '正在加载',
mask:true
});
uni.request({
url: url,
method: method,
data: data,
header: header,
dataType : dataType,
responseType : responseType,
success: res => {
//隐藏
uni.hideLoading();
var resObj = {};
resObj['errMsg'] = res['errMsg'];
resObj['statusCode'] = res['statusCode'];
resObj['header'] = res['header'];
var resData = res.data;
//成功执行回调函数
if(typeof(option.success) == 'function'){
option.success(resObj);
}
}
},
fail: () => {
//隐藏
uni.hideLoading();
if(typeof(option.fail)=='function'){
option.fail();
}
},
complete: () => {
if(typeof(option.complete)=='function'){
option.complete();
}
}
});
}
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX 版本 2.1.0.20190713,
[IDE版本号]
HBuilderX 版本 2.1.0.20190713,
[windows版本号]
windows 10专业版
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
h5
[运行端版本号]
google chrome 版本 72.0.3626.121(正式版本) (64 位)
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
/
封装uni.request ajax请求
****/
function xxx_Ajax(option){
// debugger;
var url = option.url;
var data = XXXAPI.isEmpty(option.data) ? {} : option.data;
var header = XXXAPI.isEmpty(option.header) ? {} : option.header;
header['content-type'] = XXXAPI.isEmpty(header['content-type']) ? 'application/json' : header['content-type'];
var method = XXXAPI.isEmpty(option.method) ? 'POST' : option.method; //默认POST
var dataType = XXXAPI.isEmpty(option.dataType) ? 'json' : option.dataType; //默认json
var responseType = XXXAPI.isEmpty(option.responseType) ? 'text' : option.responseType; //默认text
uni.showLoading({
title: '正在加载',
mask:true
});
uni.request({
url: url,
method: method,
data: data,
header: header,
dataType : dataType,
responseType : responseType,
success: res => {
//隐藏
uni.hideLoading();
var resObj = {};
resObj['errMsg'] = res['errMsg'];
resObj['statusCode'] = res['statusCode'];
resObj['header'] = res['header'];
var resData = res.data;
//成功执行回调函数
if(typeof(option.success) == 'function'){
option.success(resObj);
}
}
},
fail: () => {
//隐藏
uni.hideLoading();
if(typeof(option.fail)=='function'){
option.fail();
}
},
complete: () => {
if(typeof(option.complete)=='function'){
option.complete();
}
}
});
}
联系方式
[QQ]
529191272
wfighting (作者)
我哪怕先写showLoading 然后hideLoading 也会出现这个问题,今天IDE升级之前还没存在这个问题,升级之后就有这个问题了。
2019-07-15 14:08