Должен признаться, это мой первый пост на этом сайте, поэтому я извиняюсь в советах, если я что-то делаю неправильно (форматирование и т. Д.).Jquery Ajax вызывает сбой Internet Explorer?
В любом случае, я создаю вид mmo с использованием javascript (и jQuery), и до сих пор все работает нормально в Chrome, Safari, Firefox и т. Д. Однако я обнаружил, что где-то вдоль линии Интернет Происходит сбой.
Воспроизводя аварии я сузил его к этому коду:
function getUpdates(){
var data={uid:playerName,area:1,mid:lastMessage};
$.ajax({
url: "getUpdates.py",
timeout: 32000,
data: data,
type:"GET",
complete: function(obj, textStatus){
//handleUpdates(obj);
getUpdates();
}
});
}
который должен опрашивать для обновления в течение длительного времени. Однако в IE после одного ответа этот код застревает в бесконечном цикле, что приведет к сбою браузера. Кажется, что это не сбой после каждого ответа, только если ответа сервера нет.
Обратите внимание, линия, которая говорит "полная: ..." было опробовано как:
success: function(...){getUpdates();...},
error: function(...){getUpdates();...}
с той же проблемой возникновения.
Похоже, вы все сделали правильно. . поздравления! Однако, вероятно, вы должны добавить теги 'javascript' и/или' ajax' вместо 'long-poll'. – SLaks
Почему бы не поставить таймаут перед вызовом getUpdates() еще раз. –
сервер занимает много времени, чтобы отвечать на запросы (поэтому существует ограничение на 32 тайм-аута), некоторые запросы могут занять до 30 секунд до получения ответа. Игра в режиме реального времени, поэтому добавление дополнительной задержки на стороне клиента между получателями очень заметно и не сэкономит много трафика. – Sylvan