У меня есть сайт. Я закодировал страницу чата с помощью jQuery AJAX. Есть 3 вызова AJAX.
Я использую JSON для отправки и получения низкоуровневых данных в чате. Я использовал лучшую технологию для чата с AJAX, но веб-страница зависает, когда я набираю сообщение в поле ввода или прокручиваю вверх и вниз историю чата. Я не могу понять, почему страница зависает.
Сначала я выбирал всю историю чата. Я изменил его, чтобы он только получал новые сообщения, если они есть, но это не решило мою проблему.
Во-вторых, я попытался установить async=true
или же ложный — это не решает мою проблему. Он должен работать правильно без замораживания, но он замерзает.
Скриншоты ниже.
Вы ставите в очередь свои запросы AJAX?
Ты можешь использовать $.Deferred
если вы используете jQuery, используйте .queue()
или непосредственно размещайте функции AJAX последовательно внутри функции. С другой стороны, вам может понадобиться установить / настроить setTimeout
на функции.
Довольно крутой разработчик (кто не я) разработал плагин ajaxQueue это хорошо обрабатывает эти события. Рабочий пример jsfiddle: Вот.
Исходя из вашего требования, я могу представить, что есть 2 возможные проблемы в реализации.
async
вариант $.ajax()
по умолчанию, чтобы быть правдой на основе документ. Вам не нужно добавлять его самостоятельно.