以下是网址:
www.example.com/?param%5B%5D=A¶m%5B%5D=B
%5B%5D
部分[]
将param
作为数组传递,该数组以网址编码。
现在,我想删除其中一个参数,所需的输出是:
www.example.com/?param%5B%5D=B
我搜索了这个,但一无所获! 所有答案都是关于删除单个值参数,而不是多个。
更新
我不知道参数的确切位置,即URL可能是这样的:
www.example.com/?test=124&test2=456¶m%5B%5D=A¶m%5B%5D=B
答案 0 :(得分:1)
以下是如何从URL中提取参数的示例。
现在,如何在用户用户交互表单(UI)上使用它们取决于您。
// Use this to get the document location:
var ActualURL = document.location.href;
console.log("This snippet URL: "+ActualURL);
// Only for this demo, I "simulate" a URL.
// ActualURL is overwritten here.
var ActualURL = "www.example.com/?param%5B%5D=A¶m%5B%5D=B";
console.log("FAKED URL: "+ActualURL);
var domain = ActualURL.split("?")[0];
console.log("Domain: "+domain);
var params = ActualURL.split("?")[1];
var param_array = params.split("&");
for (i=0;i<param_array.length;i++){
console.log( "Param #"+i+": "+param_array[i] );
}
console.log("Rebuilted URL with only param #2: "+domain+"?"+param_array[1]);
&#13;
答案 1 :(得分:1)
您可以利用URL WebAPI。
https://developer.mozilla.org/en-US/docs/Web/API/URL
var base = 'http://www.example.com/'
var query = '?param%5B%5D=A¶m%5B%5D=B';
var url = new URL(base + query);
var params = new URLSearchParams(url.search);
var filteredParams = params.getAll('param[]')
.filter(function(el) {
return el !== "A";
}).map(function(el){
return ['param[]', el];
});
var newParams = new URLSearchParams(filteredParams);
var url = new URL(base + '?' + newParams.toString() );
console.log(url.toString());