javascript - 发生后如何获取url参数

标签 javascript html

我正在尝试从浏览器获取 URL 参数。

浏览器有这样的URL

http://localhost/red/prepareslide.php?p=trng&s=1

但我想获取参数,也就是说,我想获取(问号)“?”之后的所有参数

输出应该是这样的 p=trng&s=1 我该怎么做?

这是我的代码:

<!DOCTYPE html>
<html>
</head>
<script>
function call(){
URL = window.location.toString();

var query = URL.match(/\?/);
alert(query);
var queryList = query.split("?");
for (var i=0; i<queryList.length; i++) 
{
var element = queryList[i].split("=");
var ex=document.write(element[0] + " = " + unescape(element[1]) + "\r\n");
alert(ex);
}
}
</script>



</head>
<body>

<a href="#" onclick="call();">click</a>
</body>
</html>

最佳答案

编辑:有人通知我的代码段包含缺陷。他是对的。如果 URL 中没有问号,结果将是完整的 url。

因为您的目标是获取问号后面的字符,所以这应该可以完成,

// obtain browser url
var currUrl = document.URL;
// split string to obtain substring
var index; var str;
if((index = currUrl.indexOf("?")) > 0) str = currUrl.substring(index + 1);

但这确实可以更快。就像下面的评论一样,

// obtain browser url
var currUrl = document.URL;
// replace the string that only after ? returns as results
var str = currUrl.replace(/^[^?]*\?/, '');
// check result
if(str != '') {
    // do your task here with the result 
}

如果这是一个有用的回复,如果您想表扬,请将其提供给 ElLocoCocoLoco(用于他的评论)和/或 Ruslan Bes 用于替换技巧。 (虽然也是正确的)。

关于javascript - 发生后如何获取url参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17809578/

相关文章:

javascript - WordPress:使用 get_header() 时,提交按钮上没有任何操作

JavaScript Number.toLocaleString() 在分隔符后有 4 位数字

javascript - 向所选段落添加类(contenteditable div)

html - 垂直居中文本和图像

html - 浏览器忽略 HTML 元素的 CSS 选择器

javascript - 谷歌地图 : Overlay point not showing up

javascript - jQuery :hover Div to reveal Sibling

javascript - 你需要 "initalValue"做什么

javascript - SMTPJS 脚本似乎不起作用

javascript - 内容溢出到 div 之外