rexcoder
rexcoder
  • 发布:2025-03-28 15:54
  • 更新:2025-03-28 15:55
  • 阅读:26

【报Bug】 uni.request data传入JSON字符串,鸿蒙平台运行参数多了空格,接口报错, 其他平台可以正常运行

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: mac os 11.4

HBuilderX类型: 正式

HBuilderX版本号: 4.56

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS NEXT Developer Beta2

手机厂商: 华为

手机机型: Mate^0

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

【报Bug】 uni.request data传入JSON字符串,鸿蒙平台运行参数多了空格,接口报错, 其他平台可以正常运行

uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    method: 'POST',  
    data: {  
        text: 'uni.request'  
    },  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});  

uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    method: 'POST',  
    data: JSON.stringfy({  
        text: 'uni.request'  
    }),  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});

两个方法的写在在鸿蒙平台表现不一致, data传入 JSON.stringfy({
text: 'uni.request'
}) 后台接口报错 400 。

操作步骤:
uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    method: 'POST',  
    data: {  
        text: 'uni.request'  
    },  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});  

uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    method: 'POST',  
    data: JSON.stringfy({  
        text: 'uni.request'  
    }),  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});

两个方法的写在在鸿蒙平台表现不一致, data传入 JSON.stringfy({
text: 'uni.request'
}) 后台接口报错 400 。

预期结果:

uniapp能兼容 传入JSON字符串 或者直接传入对象,

实际结果:

两个参数传递方式 在鸿蒙平台表现不一致

bug描述:

【报Bug】 uni.request data传入JSON字符串,鸿蒙平台运行参数多了空格,接口报错, 其他平台可以正常运行

uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    data: {  
        text: 'uni.request'  
    },  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});  

uni.request({  
    url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。  
    data: JSON.stringfy({  
        text: 'uni.request'  
    }),  
    header: {  
        'custom-header': 'hello' //自定义请求头信息  
    },  
    success: (res) => {  
        console.log(res.data);  
        this.text = 'request success';  
    }  
});
2025-03-28 15:54 负责人:无 分享
已邀请:
rexcoder

rexcoder (作者)

我们是SDK内部封装的API, 传递的data为JSON 字符串, 在鸿蒙平台接口会报错, 其他平台正常。

要回复问题请先登录注册