![]() |
Ajax в Opera, не проходит запрос
Вложений: 1
В общем ситуация сложная (или я уже настолько запутался), попытаюсь объяснить:
есть две функции посылки запросов на сервер и соответственно 2 обработчика, необходимо при некотором условии вызывать 2 запрос к серверу из обработчика ответа 1-го запроса, вот 2 запрос не проходит (в opera, в ie и ff - нормально), если же функцию второго обработчика вешать как событие на какой-нибудь элемент, то и в опере при наступлении этого события 2-ой запрос выполняется нормально. Собственно вопрос - как устранить баг? :help: ну и интересно, почему так происходит? :idontnow: Понимаю, что объяснил довольно сбивчиво, но лучше что-то ничего в голову не лезет. Соответственно пример кода в прилагаемом архиве: index.php - пример кода с багом index2.php - пример, когда второй запрос повешен на кнопку и все работает get1.php, get2.php - обработчики запросов |
Ты приведи пример кода. В каком месте происходит ошибка. Тебе скажут как обойти.
|
Цитата:
ошибки как таковой нету, если верить консоли ошибок оперы. Конкретно: вот так вот не работает (кусок из файла index.php): Код:
function GetSubSectionsAndElementsResponce()Код:
function GetSubSectionsAndElementsResponce()ИМХО, для понимания нужно посмотреть весь код, который в архиве, а не только эти 2 куска. |
Может я чего-то не понимаю, но как в index.php при клике на любую из цифр (19,20,21) получаю алерт "toyota" что в FF что в Opera (версия 9.25), на сколько я понял, так и должно быть.
В index2.php наблюдается также одинаковое поведение в двух вышеуказанных браузерах, только при каждом выборе плодится кнопка, и для получении алерта с тойотой, надо тыркнуть еще на любую из них... |
Hubbitus, ты все правильно понял. Сейчас скачал оперу 9.25 - действительно все сработало как и должно.
Вопрос стоит переформулировать - не работает на опере до какой-то определенной версии (точно не работает на 9.02 и 8.х (точную версию не помню - на работе осталась)). Вероятно, это баг браузера, который поправили, и если это так, то, скорее всего, решения проблемы, кроме как обновление оперы, найдено не будет :( |
Ну если баг, то скорее всего есть и WorkAround - осталось только понять в чем именно баг.
К сожалению на сайте Оперы самая старая для скачивания 9.10 ( http://www.opera.com/download/index....m=Linux%20i386 ) так что не могу даже посмотреть... Попробую найти старее, тогда уже и говорить можно будет. Ну а вообще, для подобного, просто рекомендую использовать какие-нибудь кроссбраузерные библиотеки, хоть Котияровский JSHTTPRequest, хоть Prototype, хоть от Гугла или яху, по душе AJAX-фреймворк подобрать. Они тем и хороши, что люди именно ими занимаются, долгое время оттачивают, исправляют баги, и в том числе, реализуют поведение для работы поверх подобных недочётов браузеров. |
Цитата:
|
PhoeniX, посмотрел в Опере 9.10 - могу подтвердить - действительно не работает :)
Я при беглом осмотре и паре попыток не смог обнаружить как это обойти. Однако, не вижу смысла и разбираться с этим Багом (теперь хоть понятно что это так, и оно даже исправлено уже в новых версиях) - майнтейнеры библиотек пусть с этим возятся, на мой взгляд. Если очень интересна причина, по их же форумам и багтрекерам надо лазить. |
| Часовой пояс GMT +4, время: 01:15. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.