我有一个URL字符串:http:/some.other.com/#/app/
。
我想将其变成带有特定查询参数的字符串:http:/some.other.com/#/app/?my-param=whatever
我尝试这样做:
function addQueryParam(url, key, value) {
const newUrl = new URL(url)
newUrl.searchParams.set(key, value)
return newUrl.toString()
}
addQueryParam('http:/some.other.com/#/app/', 'my-param', 'whatever')
我预期有以下URL:
http:/some.other.com/#/app/?my-param=whatever
但结果是:
http://some.other.com/?my-param=whatever#/app/
也许我错过了什么,但我猜很多应用程序,比如angular、vue和react,在url字符串的中间使用哈希。那么,在这种情况下如何正确添加查询参数?
URL
的hash
。关于URL如何序列化,请参考规范。#
符号及其后面的内容是hash,并追加到URL的末尾。 - undefinedURI §通用语法
。 - undefined