我正在尝试从 url 查询字符串中删除一些参数。
我有一组要删除的参数:
var queryParamsToRemove = ['destination','formName'];
我试图做的是搜索 url 中的每个参数,并使用 RegExp
将其删除。像这样:
for (param in queryParamsToRemove){
patt = new RegExp(param,'g');
queryString = queryString.replace('&' + patt + '=' + /*?=&/g,'');
}
但这行不通,我猜是因为语法问题。
最佳答案
这是我在项目中经常使用的一个函数,它允许您获取关联数组中的所有 GET 参数:
function urlGet()
{
var t = location.search.substring(1).split('&');
var f = new Object();
for (var i = 0; i < t.length; i++)
{
var x = t[i].split('=');
f[x[0]] = x[1];
}
return f;
}
您可以使用此函数获取所有参数,然后使用delete
方法从数组中删除不需要的参数。
var parameters = urlGet();
delete parameters.destination;
delete parameters.formName;
您现在只需构建一个新的查询字符串。
var query = '?';
for (var prop in parameters)
{
query += prop + '=' + parameters[prop] + '&';
};
query = query.substr(0, query.length - 1);
现在,将它添加到您的基本 url,您就完成了!
关于javascript - 如何从 url 查询中删除参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958043/