jQuery:在加载另一个页面时不执行$ .ajax

时间:2014-02-27 15:41:26

标签: javascript jquery ajax browser

我有一个重定向到页面的按钮。我要重定向到的页面的PHP脚本需要几分钟。在等待PHP脚本时,我想要一个setInterval-scheduler来使用jQ AJAX刷新内容,但是在加载重定向时似乎没有执行它。有什么想法吗?

代码:

heartbeatInterval = 10000;
$(document).ready(
    function() {

        console.log('Document got ready.')

        setInterval(function() {
            heartbeat();
        }, heartbeatInterval);
});

$('#button').click(function() {
    window.location.href = '/...';
});

function heartbeat() {

console.log('Heartbeat triggers.');

$.ajax({
    url : action_heartbeat,
    type : 'POST',
    data : 'test',
    success : function(response) {
        $('#status').css('color', 'green').html($('#status').html() + '<br>Connected:  ' + response);
        console.log('Heartbeat finishes.');
    },
    error : function(xhr, message) {
        $('#status').css('color', 'red').html($('#status').html() + '<br>Connection lost: ' + message);
    }
});

}

1 个答案:

答案 0 :(得分:0)

这可能是不可能的。请注意,PHP(服务器端)在任何javascript(客户端)之前运行。

所以你需要首先完成PHP。可能有一种方法可以在页面中嵌入的iframe中运行PHP,这可能允许更快地加载包含您要在其中运行的javascript的页面。