在javascript中读取多个url参数
我希望在url中传递多个参数,如下所示: 如何在javascript中读取它们?如何读取多个url参数? getParameterByName可以有多个参数吗?在javascript中读取多个url参数,javascript,html,Javascript,Html,我希望在url中传递多个参数,如下所示: 如何在javascript中读取它们?如何读取多个url参数? getParameterByName可以有多个参数吗? 谢谢。非常简单,您可以通过location.search访问参数。拆分查询,并解码组件 下面的代码是一个自执行函数,它根据需要处理当前窗口url,并返回一个可以调用的作用域函数 let getParameterByName = function() { let queries = location.search.substri
谢谢。非常简单,您可以通过location.search访问参数。拆分查询,并解码组件 下面的代码是一个自执行函数,它根据需要处理当前窗口url,并返回一个可以调用的作用域函数
let getParameterByName = function() {
let queries = location.search.substring(1).split('&'),
processed = {};
for (let query of queries) {
let [name, value] = query.split('=');
processed[decodeURIComponent(name)] = value? decodeURIComponent(value) : '';
}
return function(name) {
if (typeof processed[name] !== 'undefined')
return processed[name];
else
return null;
};
}();
用法示例:
请注意,如果url中不存在查询,它将返回null
var myUrl = ' http://your-url/scriptname?response_code=591&response_description=Unsuccessful&reference_code=354d6728a9c1ef0&transaction_id=1535121422&trans_type=deposit';
var GetParameters = function (url) {
var splitParametersFromUrl = url.split('?');
var spliteParameters = splitParametersFromUrl[1].split('&');
var param = function (name, value) {
this.Name = name,
this.Value = value
}
var resualt = new Array();
for (var i = 0; i < spliteParameters.length; i++) {
var item = spliteParameters[i].split('=');
var itemParam = new param(item[0], item[1]);
resualt.push(itemParam);
}
return resualt;
}
var resualt = GetParameters(myUrl);
console.log(resualt);
恢复盐:
阵列5
0
:
参数{Name:response_code,值:591}
1.
:
参数{Name:response_description,Value:Unsuccessful}
2.
:
参数{Name:reference_code,值:354d6728a9c1ef0}
3.
:
参数{Name:transaction_id,值:1535121422}
4.
:
参数{Name:trans_type,Value:deposit}
祝你好运
<script>
let url = new URL('http://your-url/scriptname?response_code=591&response_description=Unsuccessful&reference_code=354d6728a9c1ef0&transaction_id=1535121422&trans_type=deposit');
let params = new URLSearchParams(url.search.slice(1));
let obj = {};
for(let pair of params.entries()) {
obj[pair[0]] = pair[1] //push keys/values to object
}
console.log(obj)
</script>
有关更多信息,请访问。这些参数称为查询字符串参数,您可以自己读取/解析它们,也可以使用一些库来为您执行此操作。location.search将是包含所有位置的字符串
<script>
let url = new URL('http://your-url/scriptname?response_code=591&response_description=Unsuccessful&reference_code=354d6728a9c1ef0&transaction_id=1535121422&trans_type=deposit');
let params = new URLSearchParams(url.search.slice(1));
let obj = {};
for(let pair of params.entries()) {
obj[pair[0]] = pair[1] //push keys/values to object
}
console.log(obj)
</script>