Можно ли использовать PHP $ _GET для получения переменной в URL с помощью Hashchange? - PullRequest
3 голосов
/ 22 января 2012
<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".

Я пытаюсь сделать это с помощью $ _GET на PHPвниз по параметру.Пример:

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

Использование

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

работает, но перезагружает страницу, и это то, чего я пытаюсь избежать.Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

2 голосов
/ 22 января 2012

// код 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
2 голосов
/ 22 января 2012

PHP работает на сервере.Запрос имеет для отправки на сервер для PHP, чтобы узнать, что находится в строке запроса.Вам не нужно перезагружать всю страницу, но вам нужно будет что-то отправить на сервер, например, в AJAX-запросе и что-то сделать с результатом.

1 голос
/ 22 января 2012

Для этого есть новое будущее:

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