Повторное использование объекта XMLHttpRequest или новый экземпляр - PullRequest
0 голосов
/ 23 января 2012

У меня есть такой сценарий, который приводит к «INVALID_STATE_ERR: DOM Exception 11», и я считаю, что это архитектурная проблема JavaScript:

Мне нужно «запустить» четыре последовательных вызова ajax на некоторые конечные точки сервера.

Это как:

oXHR = new XMLHttpRequest();
  • настройка заголовка для первого запроса:

    oXHR.setRequestHeader('X-CUSTOM-HEADER', '1');

  • первое синхронное открытие и отправка:

    oXHR.open('POST', firstUrl, false)

  • строка выше должна блокировать следующую отправку, которая также должна изменить заголовок:

    oXHR.setRequestHeader('X-ANOTHER-HEADER', '2');

    oXHR.open(method, secondUrl, true);

  • затем еще одно синхронное открытие и отправка, как и в первом:

    oXHR.setRequestHeader('X-CUSTOM-HEADER', '1');

    oXHR.open('POST', firstUrl, false);

  • после предыдущего запроса на блокировку, последний асинхронный запрос:

    oXHR.setRequestHeader('X-ANOTHERCUSTOM-HEADER', '7');

    oXHR.open(method, secondUrl, true);

В данный момент я использую тот же объект oXHR; Можете ли вы предоставить обратную связь для масштабируемой архитектуры, которая будет включать в себя упаковку таких запросов синхронизации / асинхронности?

Alex

1 Ответ

0 голосов
/ 23 января 2012

вы можете попробовать использовать некоторые JS-фреймворки вместо нативного объекта XMLHttpRequest. JQuery имеет довольно удобный AJAX API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...