Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2018, 10:21
Аватар для Влад137
Интересующийся
Отправить личное сообщение для Влад137 Посмотреть профиль Найти все сообщения от Влад137
 
Регистрация: 23.11.2017
Сообщений: 22

Добавление события в AJAX request
день добрый!
Подскажите пожалуйста как лучше подключить скрипт по добавлению события для реквестов.
Проблема в том что событие срабатывает только на первые запросы при загрузке страницы, на дальнейшие запросы уже событие не вешается.
Добавление события:
(function(open) {
		
		window.XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {

			this.addEventListener("readystatechange", function() {
				if (this.readyState == 4 && this.status == 200) {
					console.log(this); 
				} 				
			}, false);

			open.call(this, method, url, async, user, pass);
		};

	})(XMLHttpRequest.prototype.open);


скрипт подключается :
<body onload="initSession()">
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2018, 13:53
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

var xhr = new XMLHttpRequest(),
    method = "GET",
    url = "http://localhost:2998/";

  xhr.open(method, url, true);
  xhr.onreadystatechange = function () {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      console.log(this);
    };
  };
  xhr.send();
  xhr.send(); //Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.


(function (open) {

    XMLHttpRequest.prototype.open = function (method, url, async, fourth) {
      console.log(fourth)
      this.addEventListener("readystatechange", function () {
        if (this.readyState == 4 && this.status == 200) {
          console.log(this);
        }
      }, false);
      open.call(this, method, url, async, fourth);
    }
  })(xhr.open);

  xhr.open(method, url, true, 'fourth');
  xhr.send();
  xhr.open(method, url, true, 'fourth');
  xhr.send();


) Найди 10 отличий
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клиенсткий js, Ajax и telegrmbot, и события torsar AJAX и COMET 0 27.05.2018 17:51
Ошибка при AJAX запросе при переходе на HTTPS "This request has been blocked.." WhiteFalke AJAX и COMET 1 27.12.2016 07:29
Остановка события пока не загруизится ajax -=1100=- AJAX и COMET 1 08.07.2013 19:38
После события checked запустить ajax, выходит: Сначала ajax потом checked??? Андрей Лебедев Элементы интерфейса 0 09.02.2013 13:07
Добавление события Google-календарь InviS Серверные языки и технологии 0 04.05.2010 04:48