更新页面上的数据而不刷新
我有一个网站,我需要更新状态。 就像一个航class,你正在离港,巡航或降落。 我希望能够刷新状态,而不用我的vieuwers有重新加载整个页面。 我知道AJAX和jQuery有一个方法,但是我不了解这是如何工作的。 我也不希望他们有,并点击一个button。 如果有任何机构知道如何做,我非常感谢!
一般来说,如果你不知道如何工作,找一个你可以学习的例子。
对于这个问题,考虑这个DEMO
你可以看到用AJAX加载内容很容易用jQuery完成:
$(function(){ // don't cache ajax or content won't be fresh $.ajaxSetup ({ cache: false }); var ajax_load = "<img src='http://automobiles.honda.comhttp://img.dovov.comcurrent-offers/small-loading.gif' alt='loading...' />"; // load() functions var loadUrl = "http://fiddle.jshell.net/deborah/pkmvD/show/"; $("#loadbasic").click(function(){ $("#result").html(ajax_load).load(loadUrl); }); // end });
尝试了解这是如何工作,然后尝试复制它。 祝你好运。
你可以在这里find相应的教程
更新
现在下面的事件启动ajax load
函数:
$("#loadbasic").click(function(){ $("#result").html(ajax_load).load(loadUrl); });
您也可以定期执行此操作: 如何触发AJAX请求定期?
(function worker() { $.ajax({ url: 'ajax/test.html', success: function(data) { $('.result').html(data); }, complete: function() { // Schedule the next request when the current one's complete setTimeout(worker, 5000); } }); })();
我在这里为你做了这个实现的演示。 在这个演示中,每2秒( setTimeout(worker, 2000);
)内容被更新。
您也可以立即加载数据:
$("#result").html(ajax_load).load(loadUrl);
其中有相应的演示。
您可以阅读官方jQuery站点的jQuery Ajax: https : //api.jquery.com/jQuery.ajax/
如果你不想使用任何点击事件,那么你可以设置定时器定期更新。
下面的代码可能只是帮助你的例子。
function update() { $.get("response.php", function(data) { $("#some_div").html(data); window.setTimeout(update, 10000); }); }
上面的函数会在每10秒后调用一次 ,从response.php获取内容并在#some_div
更新。
我想你想先学习ajax
,试试这个: Ajax教程
如果你想知道Ajax是如何工作的,那么直接使用jQuery并不是一个好方法。 我支持学习本地方式发送ajax请求到服务器,看到关于XMLHttpRequest
一些事情:
var xhr = new XMLHttpReuqest(); xhr.open("GET", "http://some.com"); xhr.onreadystatechange = handler; // do something here... xhr.send();