使用#tag获取完整的URL

时间:2011-05-25 03:05:24

标签: php

试图在PHP中打印$ _SERVER数组,但我找不到我想要的内容:

http://www.domain.com/#sometaginpage

我想要“sometaginpage”。

帮助。谢谢!

3 个答案:

答案 0 :(得分:9)

浏览器实际上并没有将散列(#)之后的任何内容发送到服务器,因为它已在浏览器中解析。

答案 1 :(得分:4)

相当确定#hashtags未发送到服务器,但您可以使用AJAX开发解决方法:

<强>一些-page.html中

<script type="text/javascript">
    $(document).ready(function() {
        $(window).bind('hashchange', function() {
            var hash = window.location.hash.substring(1);
            $.get('ajax-hash.php', { tag: hash },
                function(data) { $('#tag').html(data); }
            );
        });
    });
</script>

<div id="tag"></div>
<a href="#one">#one</a> | <a href="#two">#two</a> | <a href="#lolwut">#lolwut</a>

<强> Ajax的hash.php

<?php
    $hash = isset($_GET['tag']) ? $_GET['tag'] : 'none';
    echo $_SERVER['HTTP_REFERER'] . '#' . $hash;
?>

注意:这取决于实际发送HTTP_REFERER的浏览器..由于它是通过jQuery完成的,它应该......但没有承诺! (防病毒/防火墙喜欢从您的数据包中删除它)

答案 2 :(得分:0)

我不确定$ _SERVER ['REQUEST_URI']是否会给予它。 s992可能是正确的,它可能不会将其发送到服务器。