我有一个这样的链接:
http://localhost:8162/UI/Link2.aspx?txt_temp=123abc
我想得到值123abc
。我已经遵循了这一点如何在JavaScript中获得查询字符串值?和jquery get querystring from URL
$(document).ready(function () {
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
onload = function () {
alert(getParameterByName('txt_temp'));
alert(getUrlVars()["txt_temp"]);
}
});
但它不起作用。
7条答案
按热度按时间pxy2qtax1#
假设你有很多参数的URL,例如:-
在js中,你可以这样做:
或
然后拆分主URL,如:
//hashes保存此输出**“txt_temp=123abc&a=1&b=2”**
然后,您可以通过**&**拆分以获得单个参数
编辑
检查以下示例:
输出
nwo49xxi2#
它不起作用,因为你正在运行
onload
内部的函数,而document.ready
内部不会触发,因为当document.ready
内部的代码执行时,onload
已经触发了。只需将代码从onload
事件中取出:http://jsfiddle.net/whp9hnsk/1/
wnvonmuf3#
这应该让你开始:
xe55xuns4#
您可以用途:
或者如果正在搜索当前页面:
mbzjlibv5#
你必须把“=”之前和之后的所有内容都切片,所以第一个答案有点不完整。下面是适用于包含“=”的查询字符串的答案:)Like:
https://localhost:5071/login?returnUrl=/writer/user?id=315&name=john
感谢用户abhi
然后和
所以它也会提取“/writer/user?id=315”和“=”:)
7cjasjjr6#
我用ES6语法写了这一行,它遵循了公认答案的方法。
用途:
假设当前URL为:https://stackoverflow.com?question=30271461
enyaitl37#