clearInterval()在php中的ajax中工作,并且在提交时调用了get和post方法

时间:2014-11-18 04:04:28

标签: php jquery ajax setinterval clearinterval

我正在使用setInterval,然后无法在我的代码中使用clearInterval。请参阅代码 我得到完整的值,它是真的,也输入if语句但clearInterval仍然无法正常工作。我累了,尝试了最后10个小时,但没有找到错误。我检查console.log并没有停止间隔。

jQuery(document).ready(function() {
    var complete = false;
    var Interval;

    jQuery( "#form" ).submit(function() {
        Interval = setInterval(get, 100);
        post();
        return false;
    });

    function post(){

        var url = "my/url/here";

        var data = {
        'action': 'action/here',
        'name': 'value'
        };
        jQuery.post(url, data, function(response) {
            jQuery("#emails").html(response);
        }).done(function() {
        //alert( "second success" );
        })
        .fail(function() {
        //alert( "error" );
        })
        .always(function() {
         complete = true;   
        //alert( "finished" );
        });

    } // End post()
    function get(){

        var url = "url/goes/here";

        if(complete == true){
            clearInterval(Interval);
        }
        var data = {
            'action': 'action/here',
        };

        jQuery.get(url, data, function(response) {
            console.log(response);
            jQuery("#progress").html(response);     
        });

    } // End get()

});

这是下面的原始代码。 ajax调用工作正常,但clearInterval()无法正常工作

<script type="text/javascript" >
jQuery(document).ready(function() {

    jQuery(".juee_emails_row").hide();

    var juee_complete = false;
    var juee_Interval;

    jQuery( "#juee_form" ).submit(function() {
        jQuery(".juee_emails_row").show();
        juee_Interval = setInterval(juee_get, 100);
        juee_post();
        return false;
    });

    function juee_post(){
        var data = {
        'action': 'juee_get_emails',
        'juee_data_option': jQuery('input[name=juee_data_option]:checked', '#juee_form').val()
        };
        jQuery.post(ajaxurl, data, function(response) {
        jQuery("#juee_emails_td").html(response);
        }).done(function() {
        //alert( "second success" );
        })
        .fail(function() {
        //alert( "error" );
        })
        .always(function() {
         juee_complete = true;  
        //alert( "finished" );
        });

    } // End juee_post()
    function juee_get(){
        if(juee_complete == true){
            clearInterval(juee_Interval);
        }
        var data = {
            'action': 'juee_progress',
        };

        jQuery.get(ajaxurl, data, function(response) {
        console.log(response + " email found");
        jQuery("#juee_progress_td").html("");
        jQuery("#juee_progress_td").html(response);     
    });

    } // End juee_get()

});
</script> 

0 个答案:

没有答案