За последние 24 часа нас посетили 19980 программистов и 1707 роботов. Сейчас ищут 1593 программиста ...

Ajax пример

Тема в разделе "JavaScript и AJAX", создана пользователем Padaboo, 3 мар 2010.

  1. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Вот смотрю примеры в гугле читаю книжку "Ajax ia action"
    вот наваял тут какую то гадость))не работает конечно)
    [js]<script language="JavaScript">
    // тут типа создаем объект
    http = false;
    try {
    http = new httpRequest();
    } catch (trymicrosoft) {
    try {
    http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
    try {
    http = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
    http = false;
    }
    }
    }

    if (!http)
    alert("Error initializing httpRequest!");

    function Submit() {
    serch = document.getElementById("serch").value;
    url = "321.php?serch=" + escape(serch);
    http.open("GET", url, false);
    http.onreadystatechange = updatePage; //тут я не понял что происходит, с примеру дернуто
    http.send(null);
    }
    //тут должны мы принимать по идее из скрипта результат но как эта функция вызывается я не понял :\
    function updatePage() {
    if (http.readyserch == 4) {
    response = http.responseText;
    document.getElementById("serch").innerHTML = response;
    }
    }
    //тут я ловлю нажатие энтера
    function Enter(){
    if(event.keyCode==13){
    Submit();
    }
    }
    </script>
    [/js]

    HTML:
    1. <input type="text"  onKeyPress="Enter()" id="serch" />
    2. <input type="text" style="display:none" />
    3. </form>
    2 инпута чтобы браузер не перезагружался когда энтер нажимаем
    вот 321.php
    PHP:
    1. <?php
    2. echo '132';
    3. ?>
    подскажите пожалуйста как правильно
    зы: в некоторых примерах заголовки посылались в некоторых нет
    надо заголовок посылать ?если надо то какой?
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    XMLHttpRequest

    updagePage - имя функции, которая должна выполняться, когда происходит onreadystatechange. onreadystatechange - это событие, такое же как onload, onmousemove


    && http.status == 200

    ??
    Вставляем, откуда читаем?
    В форму вставлять через {object}.value
     
  3. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    [js]<script language="JavaScript">
    http = false;
    try {
    http = new XMLHttpRequest();
    } catch (trymicrosoft) {
    try {
    http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
    try {
    http = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
    http = false;
    }
    }
    }

    if (!http)
    alert("Error initializing XMLHttpRequest!");

    function Submit() {
    serchvalue = document.getElementById("serch").value;
    alert(serchvalue);
    url = "321.php?serch=" + escape(serchvalue);
    http.open("GET", url, true);
    http.onreadystatechange = updatePage;
    http.send(null);
    }

    function updatePage() {
    if ((http.readyserch == 4) && (http.status == 200)) {
    response = http.responseText;
    document.getElementById("inputid").value = response;

    }
    }

    function Enter(){
    if(event.keyCode==13){
    Submit();
    }
    }


    </script>
    [/js]
    HTML:
    1. <input type="text" onKeyPress="Enter()" id="serch" />
    2. <input type="text" id="inputid" />
    3. </form>
    321.php
    PHP:
    1. <?php
    2. if(isset($_GET['serch'])){
    3. $value=$_GET['serch'];
    4. echo $value;
    5. }
    6. ?>
    т.е. копируем данные из 1 формы в другую через php скрипт по идее
    доходит до updatePage(), проверял алертам, условие ((http.readyserch == 4) && (http.status == 200)) не выполняется похоже((
     
  4. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    jQuery и не забивай голову ерундой ;)
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    http.readyState

    +1
     
  6. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    cпасибо!! класс !! заработало)))
    MiksIr
    меня бы этот пример долго еше покоя не давал)

    Теперь проблема русские символы если писать возвращает в виде кода например "ф" - %u0444
    Это из за того что передается в кодировке utf-8?
     
  7. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
     
  8. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Luge
    понятно, спасибо, пойду изучать jquery