请帮忙。我有以下 JSP 文件,其中包含对 DIV 'alertDIV' 的 AJAX 调用,我需要每 3 秒刷新一次。我想每 3 秒加载一次 jsp 文件 'alertbar.jsp'。文件 alertbar.jsp用于运行查询并返回结果..
现在,当我运行项目时,调用 JSP 文件('userhome.jsp')每 3 秒刷新一次 DIV。但是,当我在后端更改值时,新值不会被刷新。但是,当我刷新页面,显示更改的结果。我参考了很多建议并添加了“$.ajaxSetup ({cache: false});”这一行。仍然没有变化...我创建了一个简单的项目并单独使用这两个文件,令我惊讶的是,它显示了正确的结果。我刚刚将在示例项目中工作的同一组代码复制到现有的项目...但没有工作..我对使应用程序保留缓存的原因一无所知(如果这就是原因)
如果需要,我可以发送代码.. 但这与本网站建议的刷新 DIV 相同...
代码看起来像这样
用户主页。jsp
<script src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script>
var auto_refresh = setInterval(
function()
{
$.ajaxSetup ({
cache: false
});
$('#alertdiv').fadeOut('slow').load('alertbar.jsp').fadeIn("slow");
}, 3000);
</script>
和
警报栏.jsp
<div >
<%
try
{
%> Alerts over <%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1455;DatabaseName=card8","sa","adminadmin");
Statement st=con.createStatement();
ResultSet resultSet=st.executeQuery("select case(filetype) when 103 then 'file1' when 104 then 'file2' when 111 then 'file3' when 117 then 'file4' when 120 then 'file5' when 143 then 'file6' end , count(*) from filecontrol where state = 101 group by filetype ");
while(resultSet.next())
{
%>
<%= resultSet.getString(1) + ": (" + resultSet.getInt(2)+ ") | " %>
<%
}
%> Alerts over <%
}
catch( ClassNotFoundException e)
{
e.printStackTrace();
} catch( SQLException e)
{
e.printStackTrace();
} catch(Exception e)
{
e.printStackTrace();
}
%>
</div>
提前致谢