gpt4 book ai didi

javascript - 如何强制浏览器不使用 JS 将 'comma' 转换为 2C 符号?

转载 作者:行者123 更新时间:2023-12-01 01:50:03 30 4
gpt4 key购买 nike

我正在通过函数更改当前用户的路径:

function setSomeValue(someValues) {
var query = '';
for (var i = 0; i < someValues.length; i++) {
query += someValues[i] + ',';
}
if ('URLSearchParams' in window) {
var searchParams = new URLSearchParams(window.location.search);
searchParams.set("paramName", query);

var newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();
history.pushState(null, '', newRelativePathQuery);
}
}

如您所见,我正在向用户的位置添加新单词,并希望新位置如下所示:

www.site.com?paramName=value1,value2,

但是浏览器将我的逗号转换为 %2C 所以我得到了这个:

www.site.com?paramName=value1%2Cvalue2%2C

应该怎样做才能将逗号推送到 URL?

<小时/>

最佳答案

(从多条评论中复制并粘贴)

这可能是由于 URLSearchParams 及其 toString 方法实现 - 但我们无法知道,因为您没有向我们展示它实际上是什么。如果这不是故意对逗号进行编码,并且浏览器只是自动执行此操作 - 那么您对此无能为力。

如果 newRelativePathQuery 已经包含编码版本,也许可以将它们替换回普通逗号。但如果 history.pushState 这样做了,那么创建 URL 本身的“其他方法”对您没有多大帮助。

由于调试输出显示 newRelativePathQuery 已包含编码的逗号,因此您可以尝试将它们替换回逗号,并查看该“存活”是否会被推送到历史记录中。

关于javascript - 如何强制浏览器不使用 JS 将 'comma' 转换为 2C 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51630997/

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