在#Promet Address Bar Url中获取url参数

时间:2013-06-21 19:13:32

标签: php

http://xxxx.us/a/6126/securitycheckzpsfc10cc9.jpg#id=558554

我希望在哈希之后获取Url参数。

$hash = $_GET['hash'];

不工作

我想从地址栏获取网址。 在哈希之后获得部分。

<?php
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$url1 = parse_url($url);
echo $url1['fragment'];
?>

这也不起作用。

2 个答案:

答案 0 :(得分:1)

使用javascript location.hash,您可以将哈希值更改为GET参数并将其发送到PHP脚本

<!DOCTYPE HTML>
<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<a href="http://example.com/?some_parameter=x" class="hashed_link">Link</a>

<script>
    $().ready(function(){
        // navigate to in page anchor for testing
        window.location.href="#hash=12345678";

        // bind anchor click event
        $('.hashed_link').click(function(e){
            e.preventDefault();
            hash_anchor = $(this).attr('href')+'&'+location.hash.substr(1);

            alert(hash_anchor);
            //window.location.href=$(this).attr('href')+location.hash;
        });
    });
</script>
</body>
</html>

答案 1 :(得分:0)

哈希不会传递给服务器,只是客户端。

您尝试做的是不可能的,但是,可以通过Javascript获取完整的URL。

你应该研究做你想做的事情的更好方法。为什么不将它作为GET值传递?