>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Объекты, видимость объектов http://forum.mozilla-russia.org/viewtopic.php?id=26674 |
x_spam > 28-09-2008 22:36:04 |
помогите разобраться с видимостью объектов. Выделить код Код:var MyEXT_xmlHttp_post = new XMLHttpRequest(); var MyEXT = { //init init: function() {}, //main getXmlString: function (doc1){}, process:function (doc){ }, vote:function(doc){ var xmlString = (new XMLSerializer).serializeToString(doc); if (MyEXT_xmlHttp_post){ try{ MyEXT_xmlHttp_post.open("POST", "http://myServer.com/post.php", true); MyEXT_xmlHttp_post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); MyEXT_xmlHttp_post.onreadystatechange = MyEXT.handleRequestStateChange2;///############### MyEXT_xmlHttp_post.send(xmlString); //alert (xmlString); } catch (e){ alert("Sending error :" + e.toString()); } } window.close() ; //alert(xmlString); }, handleRequestStateChange2:function (){ // function called when the state of the HTTP request changes if (MyEXT_xmlHttp_post.readyState == 4) { if (MyEXT_xmlHttp_post.status == 200) { try{ var xmlResponse = MyEXT_xmlHttp_post.responseXML; //alert (xmlResponse); }catch(e){ alert("Error reading the response: " + e.toString()); } } else { alert("There was a problem retrieving the data:\n" + MyEXT_xmlHttp_post.statusText); } } }, }; MyEXT_xmlHttp_post - объект создан, запрос отправляется, когда приходит ответ сервера в функции handleRequestStateChange2 появляется ошибка,что объект MyEXT_xmlHttp_post не определен. В чем могут быть проблемы? можно ссылку на литературу по теме. |
x_spam > 29-09-2008 22:58:23 |
видимо я задаю уникальные вопросы, будем искать. |
x_spam > 26-10-2008 01:45:17 |
Похожая проблема описывается здесь http://forum.mozilla-russia.org/viewtopic.php?id=24318 Пока решение не найдено. Подскажите расширения использующие XmlHttpRequest , может в коде этого расширения найду ответ. |
Anton > 26-10-2008 07:49:00 |
Мне не удалось воспроизвести проблему на инструментах, выполняющих тестовый код в function () {} (или, из-за несоответствия тестового url). Тест, определяющий MyEXT_xmlHttp_post на верхнем уровне js-файла делать лень. Есть предположения: Предлагаю попробовать: |
x_spam > 26-10-2008 21:54:16 |
Пробовал разные способы "заворачивания в функцию" не получилось вот готовый пример в котором наблюдается указанная проблема http://rapidshare.com/files/157795519/myext2.xpi.html при установке расширения в углу статусбара появится красный глаз, нажав на который откроется окошко отправки текста. в результате должен появится алерт с полученным текстом. example.com возвращает код страницы при любом запрсе |
Anton > 26-10-2008 23:00:16 |
1. Строку "myext2_xmlHttp_post = evt.target;" из расширения надо вообще убрать (видимо, event'ы на xmlhttprequest в ff2 не работают) Первое, что приходит в голову - закрывать окно не сразу или размещать MyEXT_xmlHttp_post.onreadystatechange в главном окне браузера. |
x_spam > 28-10-2008 09:11:39 |
спасибо разобрался, окно закрывалось со всеми объектами раньше чем приходил ответ. |