Answer the question
In order to leave comments, you need to log in
Long polling request blocking other ajax requests?
Привет!
Решил поиграться с Long Polling, есть две функции с AJAXом одна long pollin вторая отправка формы, после того как запускается вторая для отправки формы. Сайт перестает отвечать и виснет. На сколько я понимаю, браузер не дает выполнится второму запросу до того как завершится первый. Но так как первый это Long poling запрос, то браузер переходит в состоянии вечного ожтдания не давая перейти даже на другую страницу.
(function poll(timestamp){
var dialogueId = 1;
var queryString = {
'timestamp' : timestamp,
'user_id' : 1
};
$.ajax({
url: '/exemple/getMessages/' + dialogueId,
success: function(data){
if(data.type === "ERROR")
{
alert(data.message);
}
else if(data.type === "SUCCESS")
{
alert(data.message);
}
},
async: true,
dataType: "json",
complete: poll,
timeout: 30000
});
})();
function call() {
$('#messagebox').attr('disabled');
var msg = $('#sendMessage').serialize();
$.ajax({
type: 'POST',
url: '/exemple/sendmessage',
data: msg,
success: function(data) {
$('#messagebox').val('');
$('#messagebox').removeAttr('disabled');
alert('сообщение отправленно! OK')
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}
Answer the question
In order to leave comments, you need to log in
Если на сервере php, и используется сессия, то возможно, что запрос блокируется из-за нее. Попробуйте принудительно вызвать session_commit().
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question