Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX что должно вернуть? 
:(
    Опции темы
TGrey
Дата 6.1.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Добрый день, первый раз начал работу с АЯКСОМ и тут же наткнулся на нечто. Почитав статьи и примеры начал писать свой код и тут возник вопрос
Форма
Код

<html>
<title>asdasd</title>
<script src="sc.js" language="javascript"></script>
<body>
<table>
    <tr>
        <td>
            <form action="javascript:gett()" method="POST">
                By Type:<input type="text" id="type" value="" AUTOCOMPLETE="OFF"><br>
                <select id="info" size="5" onChange="document.getElementById('type').value=this.options[this.selectedIndex].value">

                </select>
                By Name:<input type="text" value=""><br>
                <input type="submit" name="Submit" value="Da"/>
            </form>
            <div id="lal"></div>
        </td>
        <td>
            <img src="m1.gif"></td>
        </tr>
</table>
</body>
</html>

Скрипт
Код

var http;

function createObject() 
{
    if (window.XMLHttpRequest)
        http=new XMLHttpRequest();
    else
        http=new ActiveXObject("Microsoft.XMLHTTP");
}


function gett() 
{
    http.onreadystatechange = gettReply;
    http.open("GET", "getter.php?tx=lol", true);
    http.send(null);
}


function gettReply() 
{
    //if(http.readyState == 4)
    { 
        //if (http.status == 200) 
        //    alert("fff");
        //else
        //    alert(http.status);
        var response22 = http.responseText;
        alert(response22);
        //var newop = document.createElement("option");
        //newop.innerHTML=response22;
        //document.getElementById('info').appendChild(newop);
    }
    //else
    //    document.getElementById("lal").innerHTML = http.readyState;
}

    createObject();

ПШП
Код

<?php    
    $t = $_GET['tx'];
    echo $t;

?>


Судя по примерам я бы сказал, что оно мне должно вернуть, то что я послал на сервер? Но в я получаю http.readyState = 3, что значит что загрузка не завершена, а если вывести содержимое ответа, так там полный ПШП скрипт.
Что я делаю не верно?

-------
Все нашел ошибку. Я запускал форму из HTML файла. Переписал ее в PHP и все заработало.

Это сообщение отредактировал(а) TGrey - 6.1.2011, 18:59
PM MAIL   Вверх
TGrey
Дата 6.1.2011, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Раз уже начал, подскажите, как можно реализовать следующее:
Как оказалось, все что выдает ПШП скрипт, все записывается в одну строку, а мне надо, каждую строку которую echo пшп скрипт, записывать в тег <select>.
Попробовал возвращать сразу 
Код

<option>data</option>
...

document.getElementById('info').appendChild(resp);

Но оно же те данные текстом считает и ничего не пристыковывает.
Посоветуйте, как поступить в этой ситуации.
PM MAIL   Вверх
Amphiluke
Дата 6.1.2011, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



К примеру, если с сервера приходит ответ в форме «option 1;option 2;option 3»

Код

var resp = "option 1;option 2;option 3";
var optns = resp.split(";");
var sel = document.getElementById("info");
var optn;
var nullundef = (window.addEventListener) ? null : undefined;
for (var i = 0; i < optns.length; i++) {
    optn = document.createElement("option");
    optn.text = optns[i];
    sel.add(optn, nullundef);
}


PM   Вверх
TGrey
Дата 6.1.2011, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Спасибо, я так и думал, что придется делать, но возможно были другие способы) В том коде, что я нашел, возвращается сразу уже <option>....</option>, но код не полный, и потому я так и не понял, что с ним дальше делают. Буду сплитить значит smile 
PM MAIL   Вверх
Amphiluke
Дата 6.1.2011, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Цитата(TGrey @  6.1.2011,  23:35 Найти цитируемый пост)
В том коде, что я нашел, возвращается сразу уже <option>....</option>


Можно пихать в innerHTML, но скорее всего не будет работать в каком-нибудь IE.

PM   Вверх
TGrey
Дата 6.1.2011, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Та вот у меня нигде не работает) Пришлось разбивать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.