如何使用 javascript 替换以前的 URL 参数?
Posted
技术标签:
【中文标题】如何使用 javascript 替换以前的 URL 参数?【英文标题】:How to replace previous URL parameters using javascript? 【发布时间】:2019-07-14 21:57:45 【问题描述】:我有这个函数来获取和替换我的URL
参数:
function getURLParameters(paramName)
var sURL = window.document.URL.toString();
if (sURL.indexOf("?") > 0)
var arrParams = sURL.split("?");
var arrURLParams = arrParams[1].split("&");
var arrParamNames = new Array(arrURLParams.length);
var arrParamValues = new Array(arrURLParams.length);
var i = 0;
for (i = 0; i < arrURLParams.length; i++)
var sParam = arrURLParams[i].split("=");
arrParamNames[i] = sParam[0];
if (sParam[1] !== "")
arrParamValues[i] = unescape(sParam[1]);
else
arrParamValues[i] = "No Value";
for (i = 0; i < arrURLParams.length; i++)
if (arrParamNames[i] === paramName)
return arrParamValues[i];
return "No Parameters Found";
当我有这样的URL
时,它工作正常
https://example.com/?&page=2
但是现在,我的URL
是这样的:
https://example.com/?&page=2&order=my_id&direction=ASC
。
我的function
仍将page=2
替换为page=3
等,但其他值附加到我的整个URL
。如何在我的URL
中替换所有这些params
【问题讨论】:
How to get the value from the GET parameters? 和 How can I get query string values in javascript? 的可能重复 检查重复项。使用URL 和URLSearchParams 而不是手动拆分和循环。像这样:new URL( window.document.URL).searchParams.get(paramName)
【参考方案1】:
您可以同时使用?
和&
的拆分来获取所有参数,然后按照您的逻辑处理它们。
const url = "https://example.com/?&page=2&order=my_id&direction=ASC"
console.log(url.split(/[\?\&]/))
【讨论】:
以上是关于如何使用 javascript 替换以前的 URL 参数?的主要内容,如果未能解决你的问题,请参考以下文章