使用Xampp进行长轮询

时间:2018-06-06 11:21:20

标签: javascript jquery python-3.x xampp long-polling

我有一个网页,它设置与linux主机的ssh连接并执行脚本。我想长时间轮询在linux主机上运行的结果。

我使用Xampp作为本地主机服务器。

这是我的JS:

$(document).ready(function(){   

$(sub).click(function(){ 

    alert("connecting to host")
            $.ajax({
                type:'GET',
                url:'/cgi-bin/rfc.py', 
                async: false ,
                dataType: 'html',
                cache: false,
                data: $('form').serialize(),
                success:function (data) {
                     $('#output').html(data);


               }


        });

        }) ;
});

在这种情况下,我只在脚本完成执行后才得到结果。 我希望在网页中看到输出一次15秒(在15秒内轮询一次)。任何建议对我都很有帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

基本间隔类似于:

// Save the interval so we can stop it if needed by clearing the interval
let interval = null;
// Interval delay constant. 15s equals 15000 ms.
const DELAY = 15000;
// Render the output to the form.
const render = function( data ) {
    $( '#output' ).html( data );
};
// Trigger the ajax call every DELAY seconds.
const start_interval = function() {
    interval = setInterval( function() {
        const data = $('form').serialize();
        $.ajax({
            type:'GET',
            url:'/cgi-bin/rfc.py',
            dataType: 'html',
            cache: false,
            data: data,
            success: render
        });
    }, DELAY );
};
// Start using the interval once the webpage is loaded.
$(document).ready( start_interval );