Это мой код ajax, поэтому, пожалуйста, кто-нибудь скажет мне, как я могу изменить этот код на длительный опрос?
Вот мой код: –
var chat = {} chat.fetchMessages = function () { $.ajax({ url: 'ajax/ajax/chat.php', type: 'POST', data: { method: 'fetch' }, success: function(data) { $('#chats').html(data); } }); } chat.interval = setInterval(chat.fetchMessages, 1000);
Вы должны поместить следующий вызов fetchMessage в обратный вызов предыдущего:
var chat = {} chat.fetchMessages = function () { $.ajax({ url: 'ajax/ajax/chat.php', type: 'POST', data: { method: 'fetch' }, success: function(data) { $('#chats').html(data); chat.fetchMessages(); // let's do it again } }); } chat.fetchMessages(); // first call
Вышеприведенный код работает нормально, но это сразу вызовет функцию, в результате чего он увеличит трафик и, возможно, увеличит использование продолжительной продолжительности опроса в браузере браузером. Попробуйте использовать setimeout, чтобы сохранить некоторую продолжительность между сделанными вызовами, было бы хорошо, если бы вы также очистили кеш. Другим вариантом будет комета или signaR.