微信小程序wx.uploadFile接口返回信息处理,解决出现undefined错误的问题
发表人:祥恒 | 2022-11-21

在开发微信小程智能拍照功能时,需要使用上传照片的功能,上传照片使用微信小程序自带的API实现,接口为:wx.uploadFile

在使用wx.uploadFile调用成功后返回的信息时出现了异常,提示undefined.

仔细看了一下文档,是wx.uploadFile不同wx.request接口会对返回数据进行进行 JSON.parse处理导致的问题。

wx.request接口对返回的请求信息自动做JSON.parse处理,但wx.uploadFile就不会,而大部分接口都会采用规范化开发,这个鹅厂的程序员没统一规范倒是有点意外。

我们先来对比一下对返回数据的不同。

服务端是采用PHP语言处理,如下代码:

$login_info['user_zt']="200";
$login_info['user_info']="制作完成";
echo json_encode($login_info);exit();

在微信小程序端直接console.log(res.data),得出结果:

image.png

 这里如果使用对象方式操作会提示undefined的异常。

所以我们要加个JSON.parse去处理,代码如下:

var reinfo=JSON.parse(res.data);
console.log(reinfo.user_zt);

加上了JSON.parse后,直接用对象操作方法就不会出现提示undefined的异常了。

微信小程序的wx.request接口是默认对返回数据进行JSON.parse处理了的,但wx.uploadFile接口返回数据就不处理,不知为什么要做两个不同规范,这样很容易开发者对数据处理造成误解。

最后看一下实现后的程序效果图,是做小程序拍照功能的:

image.png

image.png

image.png

image.png

拍照小程序正在开发中,大家可以进入小程序看开发后的效果:

1668991637923741.jpg


我来说两句(0)
:zui: :wink: :twisted: :roll: :oops: :mrgreen: :love: :lol: :jidong: :idea: :han:
发表评论(Ctrl+Enter)
—— 祥恒科技公众号 ——
十二年 行业积累

砥砺前行路上,有您关注,相聚相研共话成长!

如有意向,请与我们联系

办公电话:0774-3838278 / QQ:154727262 / 微信:wztmma