微信小程序开发之天坑-wx.uploadFile的回调信息

开发微信小程序用到最多的请求为 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

(1)
witersen的头像witersen
上一篇 2022年2月25日 上午12:18
下一篇 2022年2月28日 上午11:32

相关推荐

发表回复

登录后才能评论