我有一个使用休眠到mysql的webapp。如果我的数据库获取新值,则webapp可以正常工作,它们在刷新页面后立即显示在webapp上。我想摆脱我的“每五秒钟刷新整个页面”的构建,并拥有一个复选框,当激活时,tbody中的列表将单独刷新。我也在div上尝试过自动刷新,但是,是的,如果你们中有人知道这一点,请帮忙!谢谢!

代码块1(头):

<script type="text/javascript">
function auto(){setInterval(
function () { $('#doRefresh'). ????

;}, 2000);  } </script>


代码块2(div 1):

<input type='button' value='UPDATE' class="btn" onclick="auto()"/>


代码块3(div 2):

<tbody id="doRefresh">
        <c:forEach var="sensor" items="${listSensors}" varStatus="status">
            <tr class="listData">
                <td>${sensor.fileName}</td>
                <td>${sensor.date}</td>
                <td>${sensor.time}</td>
                <td>${sensor.channel1}</td>
                <td>${sensor.channel2}</td>
                <td>${sensor.channel3}</td>
                <td>${sensor.channel4}</td>
                <td>${sensor.channel5}</td>
                <td>${sensor.channel6}</td>
                <td>${sensor.channel7}</td>
                <td>${sensor.channel8}</td>
            </tr>
        </c:forEach>
    </tbody>


我去过以下页面以获取启发(以及更多):

1. https://wowjava.wordpress.com/2010/02/06/auto-refreshing-the-content-
without-reloading-page-using-jquery/
2. http://www.sitepoint.com/auto-refresh-div-content-jquery-ajax/
3. http://crunchify.com/how-to-refresh-div-content-without-reloading-page-
using-jquery-and-ajax/
4. http://stackoverflow.com/questions/5987802/refreshing-only-one-div-in-
page-with-just-regular-javascript


谢谢

最佳答案

由于您已经具有可用于生成html的服务器代码,因此可以使用最简单的jQuery ajax方法load()

方法通过简单地传入一个url,用服务器中的新html替换选择器中的所有html。

/* within interval function */
 $('#doRefresh').load('path/to/server/script', function(){
     /* new html has been inserted, can run any html related code here*/
 });


由于<tbody>不会被替换,因此仅替换行,只发送回行。否则使用$('#doRefresh').parent().load(...保留<tbody>

参考:load() Docs

09-30 16:28
查看更多