gpt4 book ai didi

javascript - 如何将字符串化对象添加到 url 末尾

转载 作者:行者123 更新时间:2023-11-28 03:38:19 27 4
gpt4 key购买 nike

我正在尝试获取一个像这样的 json 对象:

filters = {"filters": myArray};

并将其附加到 URL 的末尾,使用:

this.router.navigate([`/devices/${productType}/${deviceCategory}/${JSON.stringify(filters)}`]);

无论如何,所以我在其他论坛上读到应该使用encodeURIComponent,所以我尝试了以下操作:

this.router.navigate([`/devices/${productType}/${deviceCategory}/${encodeURIComponent(JSON.stringify(filters))}`]);

此时我没有收到错误,但是,当我尝试从 params.paramId.filters 获取数据时,即使我使用 JSON.parse 解码或解析它,我也会得到未定义的结果(decodeURIComponent(params.paramId.filters));

如何将字符串化对象添加到 URL,然后从参数中检索它以继续使用它?

提前谢谢您!

最佳答案

编码

首先执行以下操作:

const source = new URLSearchParams(filters).toString();

并将其附加到您的网址:

encodeURIComponent(JSON.stringify(source));
<小时/>

解码

这样做:

var search = location.search.substring(1);
var filters = JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g,'","').replace(/=/g,'":"') + '"}');

关于javascript - 如何将字符串化对象添加到 url 末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57514727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com