【问题标题】:Can the PHP $_GET be used to get a variable in the URL using Hashchange?PHP $_GET 可以用于使用 Hashchange 获取 URL 中的变量吗?
【发布时间】:2012-01-22 08:37:10
【问题描述】:
<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>

当点击 Click Me 时,URL 看起来像这样“www.mydomain.com/#create=1”。

我正在尝试使用 PHP 中的 $_GET 来降低参数。例如:

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

使用

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

有效,但它会重新加载页面,这是我试图避免的。任何帮助将不胜感激。

【问题讨论】:

    标签: php jquery hashchange


    【解决方案1】:

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

    【讨论】:

    • 感谢您的帮助。我明白你想说什么。有没有办法给我一个简单的例子???当然如果可能的话。
    【解决方案2】:

    //java脚本代码

    $("#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
    

    【讨论】:

    • 让我试试看。谢谢
    【解决方案3】:

    有一个新的未来:

    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;
        }
    });
    

    【讨论】:

    • html 将如何查找。
    • 这行得通,但现在由于页面没有重新加载,我如何将参数带入页面以显示在页面中。
    猜你喜欢
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多