За последние 24 часа нас посетили 20725 программистов и 1110 роботов. Сейчас ищут 338 программистов ...

Совмещение PHP и ajax

Тема в разделе "Решения, алгоритмы", создана пользователем splashcoder, 23 фев 2009.

  1. splashcoder

    splashcoder Активный пользователь

    С нами с:
    31 дек 2008
    Сообщения:
    14
    Симпатии:
    0
    Задача: совместить работу сайта через php(при откл javascript) и ajax(при вкл javascript).
    Вопрос: как это лучше реализовать?
    самый простой вариант формировать для каждой ссылки блок вида
    <script ...>
    function(..)
    {
    действия для отображения с пом ajax
    }
    </script >
    <noscript>
    <a href=...>script.php....</a>
    </script >
    тогда при включеном javascript и при наведении на ссылку будет видно, что обработка данной ссылки происходит javascript'ом, но на некотрых сайтах заметил такую вещь, что при наведении мыши на ссылку отображается ссылка на php, но при этом происходит выполнение javascript.
    вот интересно узнать как это реализовано?
    Либо может кто-то подскажет другой способ совместить работу сайта на php и javascript кроме формирования блока для каждой ссылки, описанного выше? (может перехват url и обработка его в javascript либо ещё как-то)
     
  2. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    HTML:
    1. <a href ="script.php" onclick="js_function(); return false;" >ссылка </a>
    При отключенном js срабатывает нормальный href ссылки, при включенном - вызывается функция из onclick();
     
  3. tarantyl

    tarantyl Активный пользователь

    С нами с:
    27 май 2009
    Сообщения:
    20
    Симпатии:
    0
    предыдущйи правильный, только чтобы сделать это дело более SEO-Оптимизированным я делаю так:

    Код (Text):
    1. <a href ="script.php" rel="ajax">ссылка </a>
    Потом в js делаю следующее(использую prototypejs)
    Код (Text):
    1.  
    2. aLinks = $$('a[rel="ajax"]');
    3. aLinks.each(function(el) { el.onclick = function() { return false } } )
    4. aLinks.invoke('observe', 'click',имявашейФункции.bindAsEventListener(this) );

    Cори за возможные опечатки, писапл прям тут