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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про запрос, Начал тут с Ajax-ом работать 
V
    Опции темы
kaa
  Дата 14.8.2006, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть код который формирует запрос на сервер к скрипту добавляющему запись в таблицу

Код

var XHR;
function CreateXMLHttpRequest()
{
    if (window.ActiveXObject) 
    {
        XRH = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) 
    {
        XRH = new XMLHttpRequest();
    }
}


function ClickButtonRequest()
    {
        СreateXMLHttpRequest();
        var message_address = document.forms["private_form"].elements["address"].value;
        var message_text = document.forms["private_form"].elements["message"].value;
        var str = "message_in.php?private=y&address=" + message_address + "&message=" + message_text;
        XRH.open("GET", str);
        XRH.onreadystatechange = EventRequest;
        XRH.send(null); 
    }
    
    
    function EventRequest()
    {
        if (XRH.readyState == 4) 
        {
            
        }
    }


Дак вот - неработает.
Но как тока в функцию обработки ставлю выполнения какого-нить дествия, типа:
Код

function EventRequest()
    {
        if (XRH.readyState == 4) 
        {
            alert("111");
        }
    }


всё начинает работать!

Отчего так, может кто-нить объяснить?

PM MAIL   Вверх
Seekoo
Дата 14.8.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



поиск юзай smile 
PM MAIL   Вверх
Sardar
Дата 14.8.2006, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(kaa @  13.8.2006,  23:13 Найти цитируемый пост)
Дак вот - неработает.

kaa, что значит "не работает" ? Ну в обработчике onreadystatechange, в котором данные с запроса получаем, ничего нет, следовательно ничего происходить не будет. Код пишем или копируем не задумываясь? smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kaa
Дата 14.8.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Sardar, Нет. ну простите, обработчик-то вызывается после того как на сервер передаётся инфа или после?!
Я всегда думал что после - так почему без кода в обработчике отказывается работать СЕРВЕРНЫЙ скрипт?!

Добавлено @ 20:05 
Seekoo, 
Я б с радостью, но незнаю как сформулировать запрос smile
PM MAIL   Вверх
Sardar
Дата 14.8.2006, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(kaa @  14.8.2006,  19:04 Найти цитируемый пост)
Нет. ну простите, обработчик-то вызывается после того как на сервер передаётся инфа или после?!

Э...   обработчик вызываеться ровно в тот момент когда ответ полностью получен, разобран и браузер готов передать его скрипту smile
Цитата(kaa @  14.8.2006,  19:04 Найти цитируемый пост)
так почему без кода в обработчике отказывается работать СЕРВЕРНЫЙ скрипт?!

Нет, ну я конечно тоже могу чудес про инопланетян расказать, но всё же где код? smile
Создавай на сервере файл как флаг, убедись что скрипт отрабатывает, иначе не может не быть. Убедись что браузер в консоли не ругаеться на синтаксические и другие ошибки по типу "не заметил", мало ли чего...


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kaa
Дата 14.8.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Sardar, в общем я незнаю в чем был секрет, но так как обработчик мне никуда неупёрся я поступил проще:

Код

function ClickButtonRequest()
    {
        СreateXMLHttpRequest();
        var message_address = document.forms["private_form"].elements["address"].value;
        var message_text = document.forms["private_form"].elements["message"].value;
        var str = "message_in.php?private=y&address=" + message_address + "&message=" + message_text;
        XRH.open("GET", str);
       // XRH.onreadystatechange = EventRequest;
        XRH.send(null); 
    }


Согласен, радикально, но зато работает всё прекрасно...  smile

Добавлено @ 21:06 
Спасибо всем за ответы!

Правда ща еще один топик запосчу - следующий косяк попёр smile
PM MAIL   Вверх
Sardar
Дата 14.8.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



kaa, вообще это не хорошо отсылать запросы и не убеждаться что дошли, хотя бы синхронный режиим выстви, что бы браузер " повис" пока ответ не придёт.

Судя по коду не было у тебя функции EventRequest (хотя в листинге ведь есть!), браузер ругался на не существующую переменную. Вообщем чудеса, текст из консоли бы всё разяснил, но ты ведь не даёшь smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kaa
Дата 16.8.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Sardar, Ну скажем так, браузер вабще ничего не говарил - он тупо молчал, во вторых я код копировал прям из редактора, так что обработчик там был...
и еще.. Про какую консоль ты говаришь?

Добавлено @ 14:59 
А вот кстати про синхронный режим это да.. Только вот вопрос - скрипт исполняется в отдельном фрейме, подвиснет на время ожидания тока документ этого фрейма или всё окно браузера?
Если всё окно то непойдёт - там еще как минимум четыре фрейма с кодом on-line

Это сообщение отредактировал(а) kaa - 16.8.2006, 14:53
PM MAIL   Вверх
Sardar
Дата 16.8.2006, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Пвиснет только фрейм, проверено на мозилле, за другие не отвечаю smile

В опере и в мозилле есть консоль (в лисе Tools -> Java Script Console) в котрой выкладываються все ошибки, как без неё можно работать я уже не представляю smile
В ИЕ в левом нижнем углу иконка смениться если на странице ошибка, кликни по ней, расскажет что как, правда только о последней ошибке.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kaa
Дата 16.8.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


 




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


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

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