项目场景:
这里简述项目相关背景:前后端分离项目,使用鸿蒙做前端,后端SpringBoot写好接口(通过商品分类id查询商品列表),鸿蒙前端页面使用Tabs组件导航,展示商品分类,点击分类标签,查询后端接口,返回对应分类商品列表数据
项目场景:鸿蒙开发,使用http返回的响应数据无法正常获取 ,利用hilog打印日志一直结果是object或者代码凭空消失,根本没有打印日志(灵异事件???)
问题描述
我已经通过本地模拟器发送数据访问后端接口,并获取响应数据(穷大学生买不起新的遥遥领先,有一部旧华为手机只支持api6无法适应我使用的api9),但是响应数据格式有问题,打印出来一直是object类型:
http请求及接受响应打印日志(这里使用自定义封装好的hilog类Logger来打印)代码如下:
http.createHttp().request(this.baseURL + this.url,
{
method: http.RequestMethod.GET,
header: {
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGFpbXMiOnsiaWQiOjcsImVtYWlsIjoiMzIwMzM3NTgzNkBxcS5jb20ifSwiZXhwIjoxNzExNzYzMzQ0fQ.l_p0vlOxyFzJjlKrllQknoJTzhAul3XAjqfIHjMZd***",//后端JWTtoken验证
},
expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型
}
, (err: any, data: any) => {
if (!err) {
Logger.info('data:'+data)
// Logger.info('data.toSting():'+data.toSting())//有这行代码模拟器会直接闪退,因为TypeError
console.log('data:JSON.stringify(data)=='+JSON.stringify(data))//这行代码凭空消失,根本没有打印日志
Logger.info('JSON.parse(`${
data.result}`):'+JSON.parse(`${
data.result}`))
Logger.info('${
data.result}:'+data.result)
let res: Response = JSON.parse(`${
data.result}`)
Logger.info('===res.data:'+res.data)
Logger.info('JSON.stringify(res.data):'+JSON.stringify(res.data)) //这行代码凭空消失
let Jsonresult:Object = JSON.parse(data.result.toString());
this.products = Jsonresult['data'];
Logger.info('products:'+this.products)//这里打印可以看到从后端获取了5个数据,但是打印出来都是object
// data.result为HTTP响应内容,可根据业务需要进行解析
Logger.info('Result:' + JSON.stringify(data));
Logger.info('code:' + JSON.stringify(data.responseCode));
// data.header为HTTP响应头,可根据业务需要进行解析
Logger.info('header:' + JSON.stringify(data.header));
Logger.info('cookies:' + JSON.stringify(data.cookies)); // 8+
} else {
Logger.info('error:' + JSON.stringify(err));
}
})
控制台日志输出情况如下图:

模拟器运行图:

后端idea控制台打印情况:(可以看到正确访问后端接口,查询了数据库)

原因分析:
不知道如何正确解析后端响应回来的数据,看官方示例代码,获取其他博主很简单就获取出来了,但是我怎么尝试都没能成功,实在是卡了太久了,耐心已被耗完(而且实在是太打击人了,鸿蒙开发梦破裂),所以发布出来,既为寻求帮助,也为记录这个问题看看其他朋友是否也被困于此,为大家寻求交流解决。
与鸿蒙官方的提问日志:


然后就没有任何了…
解决方案:
还没找到,已提交问题给鸿蒙官方,但是一开始给我的是无用甚至错误的解决方案,我指出后,继续提问,但是现在已经快一星期没有收到回复了。。(难道他们也没有找到问题)
这里贴出我整合后的项目最小化demo代码,给大家参考:
index代码:
import ComputerTabs from '../ComputerTabs'
@Entry

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



