我有问题。我有一个网站正在努力。我创建了一个php脚本,使用分页从数据库中获取所有收据ID,一切正常。但问题是每个收据ID,我添加了一个链接,以便在点击时显示指定的结果而不加载页面。
链接如下:
G145252 G785965并且点击每个链接时会显示http://test.com/?go=any#G145252
点击后页面将不会重新加载。
所以我需要帮助的是,在使用javascript点击链接并使用html打印后,如何从网址获取G145252
?
我需要将值作为process.php
传递给$GET
,这样我就可以加载点击的ID的收据明细而不重新加载页面。
请注意:在#value我需要退出网址之前,有很多获取值。
答案 0 :(得分:0)
您应该不使用URI的片段标识符部分来执行服务器端相关任务。本节仅供客户端操作。更多信息here。
您可以使用其他方法(例如查询参数)来访问此数据。
例如,转过来:
http://test.com/enter code here?go=any#G145252
进入这个:
http://test.com?go=any&hash=G145252
然后:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
console.log(getQueryVariable("go")); // any
console.log(getQueryVariable("hash")); // G145252
注意:我知道这不是您实际问题的确切答案,但问题本身就是一个糟糕的练习场景,因此我的建议。
getQueryVariable 函数的功劳归于CSS技巧:https://css-tricks.com/snippets/javascript/get-url-variables/?test=3&test2=5
答案 1 :(得分:0)
让我们假设您正在使用jQuery。
<a href="http://test.com?go=any#G145242" class="hashClick">My Link</a>
$('.hashClick').click( function(event) {
event.preventDefault();
var url = $(this).attr('href');
var hash = url.substring(url.indexOf('#')+1);
alert("You clicked " + hash);
// or at this point you can do an AJAX call
// or GET request to process.php with hash as one of the parameters
})
答案 2 :(得分:-1)
假设这是链接 http://test.com/?go=any#G145252 获取哈希值
window.location.hash
将返回#G145252 和
window.location.hash.substring(1) will return you "G145252"