编码onbeforeunload ajax请求导致超时

时间:2016-10-05 14:07:06

标签: javascript ajax timeout phantomjs codeception

我遇到的问题只能通过使用ajax请求的window.onbeforeunload事件来解决:

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');
};

它在浏览器中运行良好,但它不能使用 phantomjs 使用 Codeception Webdriver。我得到了:

  

[Facebook \ WebDriver \ Exception \ WebDriverCurlException]卷曲错误   为http POST抛出   / session / xxxyyyzzz / url with params:   { “URL”: “http://myhost.pl/someuri”}

     

操作在120001毫秒后收到0字节时超时

我已经将超时延长到120秒(从30开始)。

当我发出请求同步时它会起作用,但它会因异步请求而失败。

看起来 phantomjs 浏览器在退出当前页面时会终止此请求,此请求会阻止所有其他请求。

有没有人遇到这样的问题并有任何想法/解决方案?

0 个答案:

没有答案