gpt4 book ai didi

javascript - 如何在 url 哈希片段中的 JSON 字符串值中传递实数加号字符

转载 作者:行者123 更新时间:2023-11-28 05:14:05 25 4
gpt4 key购买 nike

我有一个 JS(Angular)应用程序,它从 url 片段(# 哈希符号之后)加载参数 - 并且参数包含 json 对象 - 就像

...#filters={"类(class)":["ST_12.+13.12.2016 [巴塞尔]"]}

目的是打开数据网格并预过滤一些数据 - 因此该对象相当通用。

问题是任何像这样的字符串都会转换为

过滤器=%7B%22Course%22:%5B%22ST_12.+13.12.2016+%5BBasel%5D%22%5D%7D

在目标系统中读取时被视为

...#filters={"类(class)":["ST_12.13.12.2016 [巴塞尔]"]}

所以它失去了+并将其变成了空格。显而易见的解决方案是将 + 字符编码为 %2b,例如

过滤器=%7B%22Course%22:%5B%22ST_12.%2B13.12.2016+%5BBasel%5D%22%5D%7D

但这失败了。当您在浏览器(chrome/firefox)中输入此内容时,%2b 会立即在 URL 字段中直接解码回 + - 再次导致原来的问题。

我还搜索了网络,我发现的所有答案都讨论了初学者的问题,为什么必须对空间进行+编码等,但这不是我关心的。我真的需要传递一个包含真实文本的普通字符串值,包括。 + 字符可靠。

最佳答案

您是否尝试使用window.decodeURIComponent()?我可以使用 decodeURIComponent() 解码字符串,它会返回正确的格式,其中包含 + 和您编码的所有内容。

关于javascript - 如何在 url 哈希片段中的 JSON 字符串值中传递实数加号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129036/

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