Ajax sorgu geciktirmek nasıl?

0 Cevap php

I read a lot of questions, but they doesn't working in my case. My situation is: my ajax query to database to insert infromation. But in my web-application user can click on buttons very quick so previous ajax query is not finished, and there is where bugs are appear. All i need to do is a delay between queries, so future queries will do only after previous is done. Here is a code:

$('#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;
});

Çalışmıyor Ne i test ve: zaman aşımı eklemek: ajax içine 3000 - 1 sorgusunun Tamam, ama bundan sonra, bütün uygulama donuyor; ajaxSetup () kullanarak zaman aşımını ayarlamak - aynı durum. SetInterval fonksiyonu test edilmiş ve buna ajax sorgu koymak - ama hiçbir ajax vardı sonra, uygulama bir uygulama php dosyası ve donuyor açıldı.

This not working:

$('#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);

});

Ve bu da çalışmıyor:

$('#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;
});

Ve nihayet bu çok çalışmak değil:

$.ajaxSetup({
  timeout:3000,
});

Şimdiden teşekkürler

0 Cevap