如何刷新按钮上的点击
我需要你的帮助,做ajax部分来刷新点击“刷新”按钮上的div。我需要一个例子。如何刷新按钮上的点击
我试图按照我在互联网上找到的例子刷新evey 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>
我应该如何修改代码,我试图改变命名并做一些修改,但它不起作用。我试图把/之前的url
<code>
xmlHttp.open("GET","/MQSTATUS.jsp",true); </code>
我将首先分离XHR对象和AJAX调用的初始化和更新。这样,你只有一个XHR对象,并且它始终如一地告诉它做什么。 首先您从窗口对象的onload处理程序初始化XHR对象。然后,通过在刷新按钮的onclick
处理程序中调用updateAjax()
,向此对象发出新请求。它会是这个样子:
<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()" />
希望这有助于你一点。
感谢这项工程 – user1080320 2012-01-02 20:44:40
我试过了,但没有奏效。它仍然显示未知的运行时错误并引用链接 – user1080320 2012-01-03 12:43:36
This可以是你要找的,使用jQuery。 Here的例子(你也可以在上一个链接中找到)
谷歌上的其他搜索显示了相同的方法:你“隐藏”div,然后你再次加载内容并显示它,通过链接需要的操作。不过,我不认为你可以只用javascript来做,你需要一个外部库(如jquery)
由于jQuery是一个JavaScript库,你无法对它做任何事情,这是JavaScript无jQuery无法完成的。 – Flygenring 2012-01-02 13:07:50
嗡嗡声,我只是意味着与jQuery很容易,但事实证明,这不是很好:) – 2012-01-02 13:32:09
同意,jQuery使事情变得简单,但我认为这是有点多加载整个库只是为了做一点AJAX 。另外,我认为你不应该隐藏更新的div,只需加载新内容就可以工作。 – Flygenring 2012-01-02 13:51:14
尝试添加一个'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>
OP不使用ASP。 – 2012-01-02 13:14:02
我不知道,但我觉得你应该先删除的setTimeout(“阿贾克斯()”,10000);在你的AJAX调用中。 其次,尝试添加此jsp的完整部署路径。 即。如果您的部署路径为http://localhost:8080/MYAPPLICATION/MQSTATUS.jsp,那么请尝试xmlHttp.open(“GET”,“/ MYAPPLICATION/MQSTATUS.jsp”,true);
你用jquery-ajax标记了你的问题。那你为什么不使用jquery?它具有快捷方法。 – 2012-01-02 12:57:03