开发微信小程序用到最多的请求为 wx.request
然后利用后端传值给小程序端用户 使用 wx.showToast 进行提示
php端如下
<?php
echo json_encode(array(
'status' => '1',
'code' => '200',
'message' => '删除成功'
));
return;
小程序端如下
success: res => {
var result = res.data;
if (result.status == 1) {
wx.showToast({
title: result.message,
icon: 'success',
duration: 2000
})
} else {
wx.showToast({
title: result.message,
icon: 'error',
duration: 2000
})
}
resolve(res);
},
以上操作都正常,直到今天用了 wx.uploadFile 画风逐渐怪异——————-
console提示 result.message 为undefined???????
但是后端发送数据已经使用了json_encode进行编码
而且没有混入其它环境的错误信息
确定为干干净净的json信息传递出去
经过排查发现 wx.uploadFile 与 wx.request 的回调信息可能不同
wx.uplaodFile的回调信息中 res.data 为整个字符串(坑死)
因此在小程序端进行一次转换即可
success: res => {
var result = JSON.parse(res.data)
if (result.status == 1) {
wx.showToast({
title: result.message,
icon: 'success',
duration: 2000
})
} else {
wx.showToast({
title: result.message,
icon: 'error',
duration: 2000
})
}
resolve(res);
},
问题解决 报错消除
原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com