0

如果我有以下文本通常会在 2 个浏览器中更新:

index.php 发送

function getStatus() {
    $.post('update.php', function(data) {
        $('div.text_window').html(data);
    });
    setTimeout("getStatus()",1000);
}

getStatus();

更新.php

echo 'some text';

但是,如果我取消在页面加载时自动调用函数,并将其分配为在单击按钮时发生(以下代码),它会在单击它的浏览器中更新,但是如何让它在另一个浏览器中更新也?

$('#send_btn').click(function() {
    getStatus();
});
4

2 回答 2

0

看来您的问题与 jQuery 的可用性有关,请将您的初始调用函数放在回调中

$(document).ready(function() {
    getStatus();
});

还要确保增加你的超时时间,应该是 5-10 秒

如果您想要即时更新并且想要高效地进行,您需要使用 PubSub 或 WebSockets

于 2013-07-19T08:25:03.707 回答
-1

因为您必须执行 da preventDefault 操作,所以有两种方法可以做到这一点。

with return false (更好的方法)

$('#send_btn').click(function() {
    getStatus();
    return false;
})

或使用 event.preventDefault() (bleah)

$('#send_btn').click(function(event) {
    event.preventDefault()
    getStatus();
})

阅读http://api.jquery.com/event.preventDefault/了解更多信息

于 2013-07-19T08:20:31.170 回答