Следует исправить это:
if (xmlhttp) {
xmlhttp.open("GET", MY_SERVLET, true);
xmlhttp.onreadystatechange = showResults;
xmlhttp.send(null);
setTimeout(function() { xmlhttp.abort() },40000);
, поскольку ajaxTimeout
функция не может "видеть" переменную xmlhttp
, но мы можем использовать анонимную функцию для доступа к локальным переменным.
Еще один подход - использовать jQuery.ajax
, чтобы библиотека об этом позаботилась.
Ваш код будет выглядеть так:
$.ajax({
url: MY_SERVLET,
async: true,
timeout: 40000,
success: function(args) {
// on success code
}
})