我需要你的帮助来做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>
答案 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>