如何在单击按钮时刷新div

时间:2012-01-02 12:52:56

标签: javascript html ajax jsp

我需要你的帮助来做ajax部分,点击“刷新”按钮刷新div。我需要一个例子。

我试图按照我在互联网上找到的一个例子,刷新eway 15秒。

但它不起作用,请你帮忙

以下是我的代码:

<script type="text/javascript">  
function Ajax(){  
    var xmlHttp;  
    try{      
        xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari  
    }  
    catch (e){  
        try{  
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer  
        }  
        catch (e){  
            try{  
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  
            }  
            catch (e){  
                alert("No AJAX!?");  
                return false;  
            }  
        }  
    }  

    xmlHttp.onreadystatechange=function(){  
        if(xmlHttp.readyState==4){  
            document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText;  
            setTimeout('Ajax()',10000);  
        }  
    }  
    xmlHttp.open("GET","MQSTATUS.jsp",true);  
    xmlHttp.send(null);  
}  

window.onload=function(){  
    setTimeout('Ajax()',10000);  
}  
</script>  

它给了我一个错误,这是行

中未知的运行时错误
<code>
    xmlHttp.open("GET","MQSTATUS.jsp",true); 
</code>

我应该如何修改代码,我试图更改命名并进行一些修改,但它不起作用。我试图把/放在网址之前

<code>
    xmlHttp.open("GET","/MQSTATUS.jsp",true); </code>

4 个答案:

答案 0 :(得分:0)

This可以是您正在寻找的,使用jquery。 Here是示例(您也可以在上一个链接中找到)

谷歌上的其他搜索显示了相同的方法:你以某种方式“隐藏”div并再次将内容加载到其中并通过链接所需的操作来显示它。但是,我不认为你只能使用javascript来实现它,你需要一个外部库(比如jquery)

答案 1 :(得分:0)

我不确定,但我认为你应该首先删除setTimeout('Ajax()',10000);在你的AJAX调用中。 其次,尝试添加此jsp的完整部署路径。 即。如果您的部署路径为http://localhost:8080/MYAPPLICATION/MQSTATUS.jsp,请尝试使用xmlHttp.open(“GET”,“/ MYAPPLICATION / MQSTATUS.jsp”,true);

答案 2 :(得分:0)

我首先要分离XHR对象和AJAX调用的初始化和更新。这样你就只有一个XHR对象,并且它会一直执行你要它做的事情。 首先,从窗口对象的onload处理程序初始化XHR对象。然后,通过在刷新按钮的updateAjax()处理程序中调用onclick,向此对象发出新请求。它看起来像这样:

<script type="text/javascript">
var xmlHttp;

function initAjax() {
    try {
        xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
    } catch(e) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
        } catch(e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                alert("No AJAX!?");
                return false;
            }
        }
    }

    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState == 4) {
            document.getElementById('ReloadThis').innerHTML = xmlHttp.responseText;
        }
    }
}

function updateAjax() {
    xmlHttp.open("GET", "MQSTATUS.jsp", true);
    xmlHttp.send(null);
}

window.onload = function() {
    initAjax();
}
</script>

然后在你的HTML放置

<input type="button" value="Refresh" onclick="updateAjax()" />

希望这对你有所帮助。

答案 3 :(得分:-1)

尝试将“UpdatePanel”AJAX控件添加到按钮控件。在按钮的Click事件中添加此类代码:

<asp:UpdatePanel runat="server">
        <ContentTemplate>        
            <asp:Label ID="Label1" runat="server"></asp:Label>
            <asp:Timer ID="timer1" Interval="500" runat="server" ontick="timer1_Tick"></asp:Timer>
            <%--<asp:Button ID="Button1" runat="server" Text="Button" />--%>
        </ContentTemplate>
</asp:UpdatePanel>