如何解决如何在JS中的仅路径网址中添加参数?
我正在尝试将参数添加到仅路径的url(因为我代码中的其他地方可以解决源问题),但是我在下面的代码中遇到错误,因为它没有将其视为有效的url 。 (编辑:也忘记添加检查以确认路径URL中是否存在“ / checkout /”)
function appendCountryParam(link,tag){
var url = new URL(link);
url.searchParams.append('tag',tag);
return url.href;
}
我想知道是否有一种将参数添加到仅路径url的干净方法。我自己编写了一个函数,但是看起来有点太复杂了,我直接将我的代码从php转换为js。
function addTagParam(link,tag) {
if (!link.includes('/checkout/')) {
return link;
}
if (link.includes('?')) {
const removeSlash = link.replace(/\/$/,'');
return `${removeSlash}&tag=${tag}`;
}
const linkWithSlash = link.replace(/\/$|$/,'/');
return `${linkWithSlash}?tag=${tag}`;
}
编辑:我仅在路径中传递url,并且我希望它以相同的格式返回,但是具有指定的参数,所以类似这样:/page/user/winsome/?tag=true
解决方法
像第二个示例一样自己创建字符串是我的首选方法?除非您有很多参数,否则无需增加额外的复杂性。
如果您确实想花哨的话,可以代替URLSearchParams
的实例(在调用.toString
之后),就像在this answer中一样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。