小程序wx.uploadFile 显示errMsg: "uploadFile:fail Error: Parse Error"

今天写小程序上传,遇到一个奇葩奇葩问题。

小程序端图片也传到后端了,后端也处理了,就是wx.uploadFile这个API就是走不到sucess回调里面。百思不得其解。

总是走到fail回调里面报错:{errMsg: "uploadFile:fail Error: Parse Error"}。

各种调试搞不明白,最后发现小程序wx.uploadFile sucess回调函数只接受string类型的数据,后端返回的数据格式经过同一处理。处理方法如下:

public function renderJson($data) {
        header('application/json');//就是这里的问题
        if (is_array($data) || is_object($data))
            $data = json_encode($data, JSON_UNESCAPED_UNICODE);
        echo $data;
        exit;
    }

,这里指定了头部为json格式。一直用的wx.request方法并没有错误,原因是wx.request success回调能把返回数据自动转为object。去掉 header('application/json') 就可以了。

你可能感兴趣的:(微信小程序)