2***@qq.com
2***@qq.com
  • 发布:2025-10-12 16:08
  • 更新:2025-10-12 16:08
  • 阅读:12

uniappx的uni.request的post在安卓app上的data类型不匹配

分类:uts

我本来想着封装一下请求,将post请求作为data参数传递,传递过去之后请求报错,报错信息如下图所示。
代码如下图所示,如果我直接在页面中调用uni.request则没有问题,可以正常请求,但是需要将reactive解构到一个原始对象中。但是这个方法如果在封装请求里无效。我检查了他们俩的类型,都是UTSJSONObject,为什么在页面中就可以请求,单独封装一个文件就不行呢?

    const registerForm = reactive<RegisterForm>({  
        username: 'happyUser',  
        password: '234344',  
        nickname: '开心的用户',  
        age: '12',  
        gender: 0,  
        avatarUrl: '',    
    })  
    const register = ():void => {  
        // let obj = {...registerForm}  
        // uni.request({  
        //  url: 'http://192.168.27.58:8080/app/auth/register',  
        //  method: "POST",  
        //  data: obj,  
        //  success:(res) => {  
        //      console.log(res.data);  
        //  },  
        //  fail:(res) => {  
        //      console.log(res);  
        //  }  
        // })  
        let obj = {...registerForm}  
        console.log(obj);  
        userRegister(obj).then(res => {  
            console.log(res);  
        })  
    }
// 封装的请求  
export const userRegister = (data : UTSJSONObject ):Promise<ApiResponse> => {  

        // return post("/auth/register",data)  
        return new Promise<ApiResponse>((resolve,reject) => {  
            uni.request<ApiResponse>({  
                url: 'http://192.168.27.58:8080/app/auth/register',  
                method: "POST",  
                data,  
                success: (response) => {  
                    const jsonResult = response.data as ApiResponse  
                    if (jsonResult != null) {  
                        if (jsonResult.code != 200) {  
                            uni.showToast({ title: jsonResult.msg ?? "出错了", icon: 'none' })  
                        }  
                        resolve(jsonResult)  
                    } else {  
                        reject(new Error("响应数据为空"))  
                    }  
                },   
                fail: (err) => {  
                    console.error("POST 请求错误:", err)  
                    uni.showToast({ title: "请求失败: " + err.errMsg, icon: 'none' })  
                    reject(err)  
                }  
            })  
        })  
}
2025-10-12 16:08 负责人:无 分享
已邀请:

要回复问题请先登录注册