Показать сообщение отдельно
  #1 (permalink)  
Старый 23.06.2012, 14:48
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

хэш в php-переменную - возможно ли без ajax?
Сделал постраничную навигацию без перезагрузки страницы. Была проблема - невозможно передать кому-то ссылку на нужную страницу. Единственный способ как я смог решить эту проблему это при помощи ajax:

В адресной строке например вписываем: blablabla/index.php#page=2
При загрузке страницы сначала выполняется скрипт, который уже аджаксит всю страницу:
$.ajax({
    type: "POST",
    cache: false,
    url: 'ajax.php',
    data: "hash="+document.location.hash.slice(1),
    success: function($content){
        $("body").html($content);
        }
    });

Дальше дело техники, в ajax.php хэш подхватывается через $_POST и разбивается на отдельные переменные:
$_POST['hash'] = str_replace('_', '&', $_POST['hash']);
parse_str($_POST['hash'], $arr);
$_POST = array_merge($_POST, $arr);
unset($arr);
//получаем результат в $_POST['page']

Чем мне не нравится этот метод - то что страница аджаксится не только когда это нужно, тоесть при смене страниц, но и при первой загрузке страницы. Можно ли как-то передать хэш из JS в php-переменную без аджакса? Как это дело реализовано в вконтакте, кто-нибудь знает?
Ответить с цитированием