0

通常、2 つのブラウザーで次のテキストが更新されている場合:

index.php 送信

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

getStatus();

update.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

preventDefault アクションを作成する必要があるため、それを行うには 2 つの方法があります。

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 に答える