Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№128-09-2008 22:36:04

x_spam
Участник
 
Группа: Members
Зарегистрирован: 14-03-2007
Сообщений: 26
UA: Firefox 2.0

Объекты, видимость объектов

помогите разобраться с видимостью объектов.

Выделить код

Код:

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  не определен. 

В чем могут быть проблемы? можно ссылку на литературу по теме.

Отсутствует

 

№229-09-2008 22:58:23

x_spam
Участник
 
Группа: Members
Зарегистрирован: 14-03-2007
Сообщений: 26
UA: Firefox 2.0

Re: Объекты, видимость объектов

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

Отсутствует

 

№326-10-2008 01:45:17

x_spam
Участник
 
Группа: Members
Зарегистрирован: 14-03-2007
Сообщений: 26
UA: Firefox 2.0

Re: Объекты, видимость объектов

Похожая проблема описывается  здесь http://forum.mozilla-russia.org/viewtopic.php?id=24318

Пока решение не найдено.

Подскажите расширения использующие XmlHttpRequest , может в коде этого расширения найду ответ.

Отсутствует

 

№426-10-2008 07:49:00

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Объекты, видимость объектов

Мне не удалось воспроизвести проблему на инструментах, выполняющих тестовый код в function () {} (или, из-за несоответствия тестового url). Тест, определяющий MyEXT_xmlHttp_post на верхнем уровне js-файла делать лень.

Есть предположения:
1) callback выполняется в другом потоке, в окружении которого нет MyEXT_xmlHttp_post
и/или
2) при выполнении запроса происходит что-нибудь вроде редиректа, и автоматически создаётся новый запрос

Предлагаю попробовать:
1) "Завернуть" в function весь код целиком
или
2) только handleRequestStateChange2 (MyEXT_xmlHttp_post.onreadystatechange = function () { ... })
3) Попробовать брать запрос из аргумента callback'а:

Выделить код

Код:

...
    handleRequestStateChange2:function (evt){
        MyEXT_xmlHttp_post = evt. target;
...

Отредактировано Anton (26-10-2008 07:49:32)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№526-10-2008 21:54:16

x_spam
Участник
 
Группа: Members
Зарегистрирован: 14-03-2007
Сообщений: 26
UA: Firefox 2.0

Re: Объекты, видимость объектов

Пробовал разные способы "заворачивания в функцию" не получилось вот готовый пример в котором наблюдается указанная проблема http://rapidshare.com/files/157795519/myext2.xpi.html

при установке расширения в углу статусбара появится красный глаз, нажав на который откроется окошко отправки текста. в результате должен появится алерт с полученным текстом.

example.com возвращает код страницы при любом запрсе

Отредактировано x_spam (26-10-2008 21:59:57)

Отсутствует

 

№626-10-2008 23:00:16

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Объекты, видимость объектов

1. Строку "myext2_xmlHttp_post = evt.target;" из расширения надо вообще убрать (видимо, event'ы на xmlhttprequest в ff2 не работают)
2. Проблему создаёт window.close()

Первое, что приходит в голову - закрывать окно не сразу или размещать MyEXT_xmlHttp_post.onreadystatechange в главном окне браузера.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№728-10-2008 09:11:39

x_spam
Участник
 
Группа: Members
Зарегистрирован: 14-03-2007
Сообщений: 26
UA: Firefox 2.0

Re: Объекты, видимость объектов

спасибо разобрался,  окно закрывалось со всеми объектами раньше чем приходил ответ.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]