здравствуйте.
вдруг по непонятной причине перестал работать onreadystatechange если сам объект XMLHttpRequest чилдом друго объекта, например (сильно упрощенный)

Выделить код

Код:

var a = new Object();
a.ajax = new XMLHttpRequest();
a.ajax.onreadystatechange = function() {};
a.ajax.open();
a.ajax.send();

в этом случае вдруг перестал отрабатывать onreadystatechange.
при чем практически на всех компах, и на FF3 и на FF2. есть три разных машины с FF2.0.14 на одной работает, на двух нет, на FF3 ни на одной не работает. а если делать объект XMLHttpRequest  не чилдом, то все работает нормально.

Выделить код

Код:

var ajax = new XMLHttpRequest();
и т.д.

почему то так совпало, что перестало работать как только на большинстве машин переставили FF2 на FF3.

Интересно как это вообще работало!?!
Все свойства и методы XMLHttpRequest должны вызываться между open и send.

rebu
а можно не "сильно упрощённый" пример?

XuTMAH
не обязательно

Нужно опираться на более строгие описания, а не на статьи поясняющие общие принципы.
http://developer.mozilla.org/en/docs/ns … ttpRequest

You must call open() on the XMLHttpRequest before setting any event listeners on it.

XuTMAH
во всяком случае, оно работает и так, и так

по крайней мере это и сейчас работает под ИЕ6-7, да и под FF2-3 решилось сразу же - для них я использую onload.
вопрос до сих пор остался - почему до этого работало, почти год, и вдруг послед выходных перестало. код не менялся. не хотелось бы в будующем опять наступать на этоже


Shutnik  пишет

rebu
а можно не "сильно упрощённый" пример?

ну там просто добавлена обвязка для open()-send(), обработка get-post, ошибок и присваивается функция для onreadystatechange, идеологически все так как я написал.