鸿蒙的ohos.url模块貌似有bug?

鸿蒙的ohos.url模块貌似有bug?
const url = "https://www.host.com/?a=B%2CC"
const urlObj = Url.URL.parseURL(url);
urlObj.params.append("location", "BJ");
console.info(new url: ${urlObj.toString()});

打印出来的rul, 原来的a被重复urlencode了

本文参与了思否 HarmonyOS 技术问答马拉松,欢迎正在阅读的你也加入。
阅读 536
1 个回答

这样确实会被二次encode,可以先对url进行decode,再进行解析:


let urlStr = "https://www.host.com/?a=B%2CC"
            urlStr = decodeURIComponent(urlStr);
            hilog.info(0x0000, 'testTag', `urlStr: ${urlStr.toString()}`);
            const urlObj = Url.URL.parseURL(urlStr);
            urlObj.params.append("location", "BJ");
            hilog.info(0x0000, 'testTag', `url: ${urlObj.toString()}`);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题