鸿蒙的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 技术问答马拉松,欢迎正在阅读的你也加入。
阅读 653
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()}`);
推荐问题