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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ajax, приём сообщения 
V
    Опции темы
bars80080
Дата 4.4.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



значит, решил я им всё же заняться

вот значит запрос: 
Код
    if(document.all) { var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    else var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", 'http://localhost/site/opros_call_center.php?ajax=1&result=' + z); 

    xmlhttp.onreadystatechange = function() { 
        if(xmlhttp.readyState == 4) alert(xmlhttp.responseText);
    } 
 стопорится там где я оставил пропущенную строку
адрес есть, если на пустую строку положить alert(xmlhttp.readyState); вернёт 1
если адрес ввести в бразуер, то он выплюнет некоторый нужный текст

к сожалению, лазим по ссылкам, везде пишут как сделать запрос, а вот что делать и как делать ответ, неизвестно

посему глобальный вопрос, что не так?

ну или поконкретнее, не нужно ли формировать настоящий xml на выходе (тоже не помогает), если нет, то что?

Это сообщение отредактировал(а) bars80080 - 4.4.2008, 15:23
PM MAIL WWW   Вверх
ksnk
Дата 4.4.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Тут, видимо, важна последовательность навешивания свойств и третий параметр при вызове .open'а
Код

req.onreadystatechange = function(){
  if (req.readyState == 4) {
...    
  }
}
req.open("GET", url, true);
req.send(data);


Добавлено через 2 минуты и 32 секунды
Да и реквест как-то, imho, нетрадиционно заводится ;-)
Код

        if (window.XMLHttpRequest) {
            try {
                req = new XMLHttpRequest();
            } catch (e){}
        } else if (window.ActiveXObject) {
            try {
                req = new ActiveXObject('Msxml2.XMLHTTP');
            } catch (e){
                req = new ActiveXObject('Microsoft.XMLHTTP');
            }
        }

Хотя я встречал и более компактную запись...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
bars80080
Дата 4.4.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



 smile ksnk
сейчас оно выглядит так: 
Код
    if (window.XMLHttpRequest) {
        try { req = new XMLHttpRequest(); } 
        catch (e){}} 
    else if (window.ActiveXObject) {
        try { req = new ActiveXObject('Msxml2.XMLHTTP'); } 
        catch (e){ req = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req.onreadystatechange = function() { 
        if(req.readyState == 4) ajax_o(req.responseText); }     
    req.open("GET", 'http://localhost/site/opros_call_center.php?ajax=1&result=' + z, true);
    req.send(''); 
 наверно, req.send() не хватало

стало быть не обязательно формировать XML, главное чтоб разобрать можно было на приёме?

там ещё чухня с кодировками и кэшем была, поставил вот заголовки, вроде нормально отрабатывает: 
Код
header("Content-Type: text/html; charset=\"windows-1251\"");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
 должно хватить?

Это сообщение отредактировал(а) bars80080 - 4.4.2008, 16:21
PM MAIL WWW   Вверх
ksnk
Дата 4.4.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Вроде, должно. 
Если пользоваться req.open("POST",... вместо GET, то проблем с заголовками кэширования просто не должно быть, так как нормальные бройзеры POST не кэшируют...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
zibox86
Дата 5.4.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(bars80080 @  4.4.2008,  16:20 Найти цитируемый пост)
стало быть не обязательно формировать XML, главное чтоб разобрать можно было на приёме?


Это уже зависит от того как ответ разбирать будешь responseXML или resposeText!
PM MAIL WWW   Вверх
bars80080
Дата 7.4.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



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


 




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


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

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