#javascript #ajax #timeout #phantomjs #codeception
#javascript #ajax #тайм-аут #phantomjs #codeception
Вопрос:
У меня есть проблема, которую можно решить только с window.onbeforeunload
помощью события, использующего ajax-запрос:
window.onbeforeunload = function (event) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', 'SOME_URL', false);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send('some=data');
};
Он работает в браузере хорошо, но он не работает с Codeception Webdriver с использованием phantomjs. Я получаю:
[Facebook WebDriver Exception WebDriverCurlException] Ошибка Curl, вызванная для http POST в /session/xxxyyyzzz/url с параметрами: {«url»:»http://myhost.pl/someuri «}
Время ожидания операции истекло через 120001 миллисекунду с получением 0 байтов
Я уже увеличил тайм-аут до 120 секунд (с 30).
Он работает, когда я выполняю синхронизацию запросов, но не выполняется с асинхронными запросами.
Похоже, что браузер phantomjs убивает этот запрос при выходе с текущей страницы, и этот запрос блокирует все остальные.
Кто-нибудь сталкивался с такой проблемой и есть какие-либо идеи / решения?
Комментарии:
1. github.com/ariya/phantomjs/issues/14396
2. ДА. Это именно та проблема, с которой я сталкиваюсь. К сожалению, это все еще не решено. Спасибо!