xmlObj.open("POST",url,false);
xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlObj.send(postData);
AJAX: Неужели в FF не работает синхронный ajax запросы???
Код:
В IE все нормально, а FF вообще молчит - ноль на массу
Причем асинхронный запрос работает и там и там, но он не подходит по общей логике - с сервера возвращаются данные необходимые для дальнейшей работы кода.
Можно ли это как то обойти/исправить? Или это все таки БАГ?
TIA
Ты бы хотя написал, откеда берётся (читай как создаётся) xmlObj. Сдаётся мне, что через ActiveX
mode - режим работы.
Код:
function ajaxConnect(url, postData, callBackFunction, mode) {
var xmlObj = new Object();
if (window.XMLHttpRequest) {
xmlObj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
//xmlObj = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Error initializing XMLHttpRequest");
return;
}
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
if (xmlObj.status == 200) {
var elArr = xmlObj.responseXML.getElementsByTagName('root')[0].childNodes;
if (callBackFunction != "") {
callBackFunction(elArr);
} else {
return true;
}
} else {
alert("There was a problem retrieving the XML data");
return false;
}
}
}
xmlObj.open("POST",url,mode);
xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlObj.send(postData);
}
var xmlObj = new Object();
if (window.XMLHttpRequest) {
xmlObj = new XMLHttpRequest();
} else if (window.ActiveXObject) {
//xmlObj = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Error initializing XMLHttpRequest");
return;
}
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
if (xmlObj.status == 200) {
var elArr = xmlObj.responseXML.getElementsByTagName('root')[0].childNodes;
if (callBackFunction != "") {
callBackFunction(elArr);
} else {
return true;
}
} else {
alert("There was a problem retrieving the XML data");
return false;
}
}
}
xmlObj.open("POST",url,mode);
xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlObj.send(postData);
}
Вызов функции:
Код:
...
var postData = "wordlist="+encodeURIComponent(strWordList);
var url = "/admin/spell/spell_checking.php?Lang="+Lang;
var callBackFunction = spellResultHandle;
ajaxConnect(url, postData, callBackFunction,false);
...
var postData = "wordlist="+encodeURIComponent(strWordList);
var url = "/admin/spell/spell_checking.php?Lang="+Lang;
var callBackFunction = spellResultHandle;
ajaxConnect(url, postData, callBackFunction,false);
...
spellResultHandle - обрабатывает результат и формирует глобальный объект, который должен использоваться дальше в коде вызывающей функции. Поэтому и нужен синхронный режим запроса.
В случае асинхронного запроса - и FF и IE и Opera функционируют нормально,
А вот в синхронном режиме - FF не работает.
--
Да, Firefox 1.5.0.1
Ошибок никаких не выдает.
Ни xmlObj.readyState ни xmlObj.status никаких значений не принимают - или если быть точнее xmlObj.onreadystatechange вообще ни разу не не срабатывает(!);
Буду признателен за помощь.
Сталкнулся с аналогичной ситуацией... необходим именно синхронный запрос, но firefox игнориует ответы сервера... в других браузерах (ie, opera) всё работает без проблем.
Ошибок ff никаких не выдаёт...
Поиск по инету пока успехов не дал, подскажите плиз кто что знает по этому поводу
Код:
result= xmlObj.responseXML.getElementsByTagName('root')[0].childNodes;
ну или что-то в этом роде.
За помошь в нахождении ответа благодарю участника Форума «Лаборатории dk».
За более подробной информацией можно сходить по ссылке:http://kb.mozillazine.org/XMLHttpRequest
А истина была совсем рядом...
Поставил чат, вроде написан на AJAXe, так автора утверждают :)
Сам я новичОК в этом, пока ;)
Так вот этот чат через 30 сек разрывает я так понял сесию с сервером,так как на другом серваке разрывов нет и работает отлично.
Разрывает при использовании IE, при всех других браузерах работает стабильно.
Так вот в том то и проблема, что большинство пользуются IE и хотелось решить задачу.
Я слыхал что есть такой прикол в Аяксе, помогите разобраться, кто что знает?
1. Решишь проблему
2. Поможешь решить её другим (т.к. баг скорее всего залатается).
1. Решишь проблему
2. Поможешь решить её другим (т.к. баг скорее всего залатается).[/quote]
:) Автор то тут причём.
Я же говорю проблема только на одном серваке на другом всё ништяк.
И если просматривать не в ИЕ а вдругих браузерах то на одном серваке и на другом серваке эти чаты работают.
Я то с удовольсвием перевёл бы на другой сервер домен,но там траф заграничный и не все захотят заходить.
Автор сам не русский,иностранец, как к нему обратиться и с чем ???? :)
А как ты это себе представляешь? Задал вопрос типа "У меня чат (вероятней всего написан с применением технологии AJAX) и на одном хостинге ослик вылетает через 30 секунд, а на другом всё нормально". Может кому это конечно что и даст, но для меня это равносилено "Доктор, у больного в 23 палате температура 36,6, а после перевода в 26 стала 36,7. В чём проблема, доктор?" Как ты думаешь, он ответит?
Вопрос я задал правильно.
Сравнение же ты перевёл неудачное!!!
На одном серваке пхп 4 на другом пхп 5
Как думаеш всё будет работать и там и там????
Я же к тому ,может кто подскажет с чем может быть связано в настройках сервера скорее.
Может кто встречал такую проблему.
Знакомый мой сказал что встречал именно по теме AJAX,но к сожалению не нашел статьи так как было это давно.
Я тоже задался поиском,безрезультатно.
Я не понимаю что запрещено вопросы задавать в форумах или тебе делать нечего???
а от версии РНР ничего в AJAX не зависит (ну кроме тех случаев когда РНР код написан под пятую версию)
а от версии РНР ничего в AJAX не зависит (ну кроме тех случаев когда РНР код написан под пятую версию)[/quote]
=) про пхп это я для сравнения с тем что мне превели в сравнение про доктора.
по поводу автора,то лучше чтоб он не знал за чат :) ,так как он нуленый.
Ну и с кодировкой тож не то так как там мультиязыковый чат и на любом языке вылетает.
Тут вопрос почему только в ИЕ на одном серваке вылетает,все остальные броузеры держут соединение без проблем.
А на другом серваке все браузеры держат в том числе и ИЕ.
Тут скорее что-то вроде связь ИЕ с сервером, а чат уверен нормальный так как на денвере не вылетает.
Бум ждать может кто что слышал или имеет свои соображения на этот счёт...
Есть еще возможности интеграции его под форумы и цмсы прямо в инсталяторе.
BLAB v.3.3
Попробуй с другой вендовой машины
Попробуй с другой вендовой машины[/quote]
Спасибо, но это тоже не то.
Каждый кто заходил под ИЕ теже проблемы.
Там я так понимаю постоянная связь с БД идёт , а тот сервак скорее не поддерживает постоянку.
Или я даже не знаю.
Я пока зелёный в этом, вот думаю скорей всего в этом проблема.
Если бы проблема была в этом то она распространялась на все браузеры. Выложи тут ссылки - народ посмотрит. Если ты "зеленый" то ты можешь многие вещи и не заметить или неправильно назвать.
Вот чат где ИЕ выпадает http://chat.relaxbase.com
Вот чат где всё работает стабильно http://chat.life.lviv.ua
первый вариант сервак в украине
второй вариант в штатах
Файлы везде теже чмод одинаковый так же везде.
function not_connected(){
if(ajx_sndd==1){allow_flash=flash}else{allow_flash=''}
tit='<br /><br />'+set_disc+'<br /><a href="blab.php?r='+r+'"><b>'+set_clck+'</b></a>'+allow_flash;
if(typeof room_tout=='number'){clearTimeout(room_tout)}
if(typeof chat_tout=='number'){clearTimeout(chat_tout)}
eeB.innerHTML=tit}
function not_connected(){
if(ajx_sndd==1){allow_flash=flash}else{allow_flash=''}
tit='<br /><br />'+set_disc+'<br /><a href="blab.php?r='+r+'"><b>'+set_clck+'</b></a>'+allow_flash;
if(typeof room_tout=='number'){clearTimeout(room_tout)}
if(typeof chat_tout=='number'){clearTimeout(chat_tout)}
eeB.innerHTML=tit}[/QUOTE]
Очень познавательная функция вне остального контекста.
Что за чат используешь? название и ссылку на родную страницу. Профи форума посмотрят если у них будет время... А я из дома гляну вечером
BLAB v.3.3
Буду очень благодарен если поможете решить проблемку.
AJAX работает под Оперу версий 8.5+
Даже не знаю путаница такая получается,просто капец...
Будет жить?