Я прочитал много вопросов, но они не работают в моем случае.Моя ситуация такова: мой ajax-запрос к базе данных для вставки информации.Но в моем веб-приложении пользователь может очень быстро нажимать на кнопки, поэтому предыдущий ajax-запрос не завершен, и в нем появляются ошибки.Все, что мне нужно сделать, это задержка между запросами, поэтому будущие запросы будут делать только после того, как предыдущий будет сделан.Вот код:
$('#save').click(function(){
var user_input=$('#user').val();
var section=$('#section').val();
$('#loading_info').append('<p><img src="Images/loading.gif" alt="loading" id="loading"/></p>');
$.ajax({
url: 'submit_db.php',
type: 'POST',
data: 'section='+section+'&user_input='+user_input,
success: function(result){
$('#response').remove();
$('#loading_info').append('<p id="response">' + result + '</p>');
$('#loading').fadeOut(500, function(){
$(this).remove();
});
}
});
return false;
});
То, что я тестировал и не работал: вставьте тайм-аут: 3000 в ajax - 1 запрос в порядке, но после этого все приложение зависает;установить время ожидания с помощью ajaxSetup () - та же ситуация.Протестировал функцию setInterval и поставил ей ajax-запрос - но после этого ajax не было, приложение открыло файл php реализации и зависло.
Это не работает:
$('#save').click(function(){
var t=setTimeout(function(){
var user_input=$('#user').val();
var section=$('#section').val();
$('#loading_info').append('<p><img src="Images/loading.gif" alt="loading" id="loading"/></p>');
$.ajax({
url: 'submit_db.php',
type: 'POST',
data: 'section='+section+'&user_input='+user_input,
success: function(result){
$('#response').remove();
$('#loading_info').append('<p id="response">' + result + '</p>');
$('#loading').fadeOut(500, function(){
$(this).remove();
});
}
});
return false;
},3000);
});
И это тоже не работает:
$('#save').click(function(){
var user_input=$('#user').val();
var section=$('#section').val();
$('#loading_info').append('<p><img src="Images/loading.gif" alt="loading" id="loading"/></p>');
$.ajax({
url: 'submit_db.php',
type: 'POST',
timeout: 3000,
data: 'section='+section+'&user_input='+user_input,
success: function(result){
$('#response').remove();
$('#loading_info').append('<p id="response">' + result + '</p>');
$('#loading').fadeOut(500, function(){
$(this).remove();
});
}
});
return false;
});
И, наконец, это тоже не работает:
$.ajaxSetup({
timeout:3000,
});
Заранее спасибо