如何读取URL中带有&符号的哈希值
这是网络开发中非常常见的情况,用户想从任何URL中提取或读取信息。在服务器端代码不可用的情况下,程序员可以利用JavaScript或jQuery来读取信息。为了读取带有&符号的URL,我们可以使用split()函数。通过这个函数,我们可以很容易地获得作为字符串的URL参数。程序员可以通过使用JavaScript检索参数字符串并将其存储在一个变量中。
语法:
var q = url.split('?')[1];
这里的URL是任何例子的URL字符串。要获得URL查询字符串的参数。如果URL的查询字符串中有许多参数,下面的代码片断将指导你解析并存储在可访问的变量中。
var vars = [], hash;
var q = url.split('?')[1];
var fullParameter = q;
if(q != undefined) {
q = q.split('&');
for(var i = 0; i < q.length; i++) {
hash = q[i].split('=');
vars.push(hash[1]);
vars[hash[0]] = hash[1];
}
// Get hash parameter
var hashParameter = hash[1];
var hashstr= hashParameter.split('#')[1];
alert("# Parameter :" + hashstr);
}
要使用任何参数,用户可以通过参数名称访问该值。例如,如果URL包含查询字符串”?var1=name &var=surname&var3=address? ,用户可以通过以下方式访问 “var1 “的值。
alert(vars['var1']);
下面的例子说明了上述方法。
例子:这个例子读取URL参数,其中包括给定URL中的哈希和”&”符号。
<!DOCTYPE html>
<html>
<head>
<title>
How to read a hash with
an & sign in the URL?
</title>
<script src=
"https://code.jquery.com/jquery-3.3.1.min.js">
</script>
</head>
<body>
<h1 style="color: green">
GeeksforGeeks
</h1>
<b>
Get parameters and anchor
of URL using jQuery
</b>
<p>
Click on the button below to
read parameters for any URL
</p>
<button id="btn">
Read hash with & sign:
<div style="height:10px;"></div>
<div id="Ampdiv"></div>
<script>
var url =
'http://www.geeksforgeeks.com/search?var1=term&var2=english#results';
('#btn').click(function() {
readHash(url);
});
function readHash(url) {
var vars = [], hash;
var q = url.split('?')[1];
var fullParameter = q;
if (q != undefined) {
q = q.split('&');
for (var i = 0; i("#Ampdiv").text(fullParameter);
}
</script>
</body>
</html>
输出:
- 在点击按钮之前。
- 点击该按钮后。