Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2019, 13:36
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

onreadystatechange function убивает объект в котором находиться
Здравствуйте уважаемые!
Пожалуйста, кто знает решение такой проблемы.
После срабатывания функции в onreadystatechange, пропадает объект который содержит onreadystatechange с этой функцией.
Как сделать, чтобы все было красиво, в одном объекте main, и во время срабатывания функции в onreadystatechange объект main оставался живым.
var my ={result: ''};

var main = {
  result: '',
  prop: 'optew',
  send: function () {
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function() {
      if (this.readyState==4 && this.status==200) {
        // здесь main.result undefined !!!
        // my.result есть.
    };
    xmlhttp.open('POST', '/submit', true);
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(objSendData);
  },
  fnc1: function () {...}
};

main.send();
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2019, 14:10
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

Сообщение от Rise Посмотреть сообщение
Как ты понял что он undefined?
Консоль сказала.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2019, 14:28
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

Ну не знаю, в FireFox консоль говорит и без вызова.
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2019, 15:10
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

скрин
Изображения:
Тип файла: jpg js_console.jpg (83.4 Кб, 7 просмотров)

Последний раз редактировалось Winner1, 13.03.2019 в 15:17. Причина: качество скрина
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2019, 16:09
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

Да, указанный мной пример работает.
Реальный скрипт очень большой и я не стал его постить.
Попробую код, который не относится к проблеме по максимуму вынести в методы и после этого запощу.
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2019, 16:47
Интересующийся
Отправить личное сообщение для Winner1 Посмотреть профиль Найти все сообщения от Winner1
 
Регистрация: 28.03.2012
Сообщений: 21

Реальный скрипт поставил на другие страницы и он работает.
Похоже, что на первой странице, создают проблему другие скрипты шаблона.
Другие скрипты отправляют Аякс запросы, они подгружают контент с которым потом работает мой скрипт.
Может кто-то сталкивался с подобный явлением и может подсказать в чем может быть проблема и как решить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('my').load(); Как сделать, чтобы это заработало mycoding Общие вопросы Javascript 25 02.10.2016 23:43
Не соображу с некоторыми переменными pov8 Events/DOM/Window 2 08.04.2016 11:14
CComponent - кроссбраузерные компоненты tenshi Ваши сайты и скрипты 5 20.04.2010 23:22
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
хитросплетения Global,контекст,this,Reference kefi Общие вопросы Javascript 109 20.11.2009 23:34