Ajax调用在刷新间隔期间不刷新DIV部分

时间:2013-01-16 04:12:48

标签: jquery ajax spring sqljdbc

请帮忙。我有以下JSP文件,其中包含对DIV'alertDIV'的AJAX调用,我需要每隔3秒刷新一次。我想每3秒加载一次jsp文件'alertbar.jsp'。文件alertbar.jsp用于运行查询并返回结果..

现在,当我运行项目时,调用JSP文件('userhome.jsp')每隔3秒刷新一次DIV ..但是,当我在后端更改值时,新值不会刷新。但是,当我刷新页面时,会显示更改的结果。我经历了很多建议并添加了行'$ .ajaxSetup({cache:false});'。仍然没有变化...我创建了一个简单的项目,并单独使用这两个文件,令我惊讶的是,它显示的结果正确..我刚刚复制了相同的代码集,它在示例项目中工作到现有项目...但是没有工作..我最终知道是什么让应用程序保留缓存(如果有的话,那就是原因)

我可以发送代码,如果需要..但它与本网站建议刷新DIV的内容相同...

代码看起来像这样

USERHOME。 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>       

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

提前致谢

1 个答案:

答案 0 :(得分:0)

在setInterval函数中使用这样的东西

$.ajax({    
    cache: false,
    url : urlName,
    type : 'GET',
    async: false,
    data : {},              
    success : function(data) {
        $('#alertdiv').html(data);
    },
    error: function (e) {
        alert('Error: ' + e); 
    }
});

干杯, vrathore.blogspot