如果我在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();
});
您的问题似乎与jQuery的可用性有关,请将您的初始调用函数放在回调中
$(document).ready(function() {
getStatus();
});
还要确保增加你的超时时间,它应该是5-10秒
如果您想要即时更新并希望高效地进行更新,则需要使用PubSub或WebSockets
因为必须执行da preventDefault操作,有两种方法可以做到这一点。
返回错误(更好的方式)
$('#send_btn').click(function() {
getStatus();
return false;
})
或者使用event.prventDefault()(bleah)
$('#send_btn').click(function(event) {
event.preventDefault()
getStatus();
})
阅读http://api.jquery.com/event.preventDefault/有关更多信息,