[Помощь] Перезагрузка страниц на ajax

Тема в разделе "PHP", создана пользователем E-body, 29 янв 2009.

Модераторы: latteo
  1. E-body

    E-body

    Регистр.:
    6 сен 2007
    Сообщения:
    986
    Симпатии:
    331
    Подскажите как можно сделать перезагрузку контента с помощью AJAX
    Примеры или скрипты только приветствуются! ;)
    case переходы неустраивают :)
     
  2. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Тебе нужно просто обновить страницу, или что?
     
  3. black.cat

    black.cat

    Регистр.:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    32
    Если вы разработчик то думаю одна из лучших библиотек jsHttpRequest
    От Дмитрия Котерова:
    http://dklab.ru/lib/JsHttpRequest/
    там и примеры и форум
     
  4. almary

    almary Постоялец

    Регистр.:
    2 апр 2006
    Сообщения:
    93
    Симпатии:
    32
    http://xajax.ru/ неплохое решение, а так можно взять с движка DLE перезагрузку страниц
     
  5. SashaBorandi

    SashaBorandi Создатель

    Регистр.:
    19 окт 2007
    Сообщения:
    20
    Симпатии:
    1
    Еще можно на jQuery через плагинс jquery.form.js
     
  6. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    попросилиже готовые примеры, или сложно кусок кода представить?
     
  7. black.cat

    black.cat

    Регистр.:
    13 ноя 2008
    Сообщения:
    203
    Симпатии:
    32
    вопервых вы не ТС.
    во вторых вот код:
    php
    PHP:
    <?php
    //<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    // Load JsHttpRequest backend.
    require_once "./JsHttpRequest/JsHttpRequest.php";

    $JsHttpRequest =& new JsHttpRequest("windows-1251");

    $REQ = array("ERR"=>0"RES"=>0);
    if (@
    $_REQUEST['q']) {
      if     ( 
    $_REQUEST['q']=="send_data" )       { $REQ send_data(@$_REQUEST['v']); }
    } else die(
    "JSHttp_error_blackcat");
    $_RESULT = array( 'REQ'=>$REQ );

    function 
    send_data($data) {
      return array( 
    'ERR'=>0'RES' =>"vilikij i ujasny ajax prislal nam PREVED:".$data);
    }

    ?>
    html:
    HTML:
    <?php
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Untitled Document</title>
    
    <script src="./JsHttpRequest/JsHttpRequest-full.js"></script>
    <script language="javascript" language="JavaScript">
    
    function doAction(command, value, target) {
        var req = new JsHttpRequest();
    
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                ERR= req.responseJS['REQ']['ERR'];//get REQUEST/ERROR
                REQ= req.responseJS['REQ']['RES'];//get REQUEST/RESULT
    
                // Write result to page element (_RESULT becomes responseJS).
                switch(command) {
                case "send_data":
                                   str=REQ;
                                   document.getElementById(target).innerHTML = str;
                                   break;
                }
            }
        }
        req.open(null, 's_b.php', true);
        req.send( { q: command, v:value } );
    }
    
    </script>
    </head>
    
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <p>&nbsp;</p>
    <form method="post" id="f" enctype="multipart/form-data" onsubmit="return false">
        Text:
        <textarea name="txt" id="txt" cols="50" rows="3"></textarea>
        <input type="button" value="Send data" onclick="doAction('send_data',this.form.txt.value,'result');">
    
    </form>
    <p> result </p>
    <div id="result" style="border:1px solid #000; padding:2px"> Results div </div>
    
    </body>
    </html>
    
    в аттаче архив с либой.
    Еще раз повторюсь что с аджаксом напрямую работать - это редкий гемор нужна промежуточная либа. В данном случае был использован Котеров.
     

    Вложения:

    • jb.tar.rar
      Размер файла:
      11,5 КБ
      Просмотров:
      5
    E-body нравится это.
  8. slik_jay

    slik_jay ^_^

    Регистр.:
    24 май 2008
    Сообщения:
    50
    Симпатии:
    27
    Mootools:
    Код:
    <body>
    <a href='page.html'>page</a>
    <div id='content'></div>
    </body>
    
    Код:
    window.addEvent('domready', function() {
      $$('a').each(function(item) { // для всех ссылок на странице (можна и изменить селектор)
        item.addEvent('click', function() {
          new Request({
            url: this.href; // <a href = ...
            method: 'GET',
            onComplete: function(text) {
              $('content').innerHTML = text;
            }
          }).send();
        }.bind(item);
        return false; // блокирует переход по ссылке
      }
    });
    
     
    E-body нравится это.
  9. best

    best

    Регистр.:
    12 апр 2006
    Сообщения:
    246
    Симпатии:
    54
  10. wusswuss

    wusswuss Читатель

    Заблокирован
    Регистр.:
    13 июл 2008
    Сообщения:
    4
    Симпатии:
    0
    это актуально!