可以使用PHP $ _GET使用Hashchange在URL中获取变量吗?

时间:2012-01-22 08:37:10

标签: php jquery hashchange

<a href="#create=1">Click Me</a>
<script src="https://raw.github.com/cowboy/jquery-hashchange/v1.3/jquery.ba-          hashchange.js"></script>
<script type="text/javascript">
    $(window).hashchange(function () {
    //
    });
</script>

单击“单击我”时,URL显示为“www.mydomain.com/#create=1”。

我想要做的是使用PHP中的$ _GET来降低参数。例如:

<?php echo $_GET['create'];?>

使用

<a href="?create=1">Click Me</a>

工作,但它重新加载页面,这是我想避免的。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

PHP在服务器上运行。将 请求发送到服务器以便PHP知道查询字符串中的内容。您不需要重新加载整个页面,但是您需要向服务器发送一些内容,例如在AJAX请求中并对结果做一些事情。

答案 1 :(得分:2)

// javascript代码

$("#clickme").click(function(event) {
    var arr = $(this).attr('href').split('#');
    var arr=(arr[1]);
    event.preventDefault();
    $("#content").load("data.php?"+ arr);   
});

//html code 

<a id="clickme" href="#create=1">Click Me</a>  
<div id="content"></div>

// php code

data.php

答案 2 :(得分:1)

有一个新的未来:

window.history.pushState("Remember me!", "Changing the get Parameter...", "?create=1");

您可以使用以下命令将其应用于所有链接:

$("a").click(function() {

    if ($(this).attr("href").substr(0, 1) != "#") {
        $("body").load($(this).attr("href"));
        window.history.pushState("Remember me!", "Nothing special", $(this).attr("href"));
        return false;
    }
});