就是希望setInterval定时读取的时候能自动调用
MessageDto dto=new MessageDto();
dto= flag.get();//前面代码把 MessageDao flag=new MessageDao();误删了。。
MessageDto dto=new MessageDto();
dto= flag.get();//前面代码把 MessageDao flag=new MessageDao();误删了。。
调试欢乐多
//------------------------------------------------------------------------
//AJAX 获取函数
//sOso
// JavaScript Document---------------------------------------------------
function GetResult(url){
var showmov = null;
if(window.XMLHttpRequest){ //IE7, Mozilla ,Firefox 等浏览器内置该对象 showmov = new XMLHttpRequest(); }else if(window.ActiveXObject){ //IE6、IE5 try{ showmov = new ActiveXObject("Msxml2.XMLHTTP");} catch (e){ ; } if( showmov == null) try { showmov = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){; } }
showmov.open("get",url,false);
showmov.send(null);
//alert(showmov.readyState);
var strResult = showmov.responseXML;
//alert(strResult);
showowmov = null
return strResult;
//showmov.load(url);
// return showmov;
}function read(){
var XMLMag=GetResult("mag.jsp");
alert("fe");
var admin=XMLMag.getElementsByTagName("adminID");
var messageDate=XMLMag.getElementsByTagName("messageDate");
var message=XMLMag.getElementsByTagName("send");
document.getElementById("message").innerHTML+=admin;//message为DIV的ID
document.getElementById("message").innerHTML+=messageDate;
document.getElementById("message").innerHTML+=message;}var test=setInterval("read()",3000);//测试的时候:alert("fe");会自动提示,
//但下面的好像没反应,是哪出问题了吗? 我是JS新手。。</script>
知道的,,指导一下。。谢谢
mag.jsp会执行
MessageDto dto=new MessageDto();
dto= flag.get();//flag.get();的返回值是个dto
还是只去读取XML下的节点的值。
var XMLMag=GetResult("mag.jsp");
alert("fe");
var admin=XMLMag.getElementsByTagName("adminID");
var messageDate=XMLMag.getElementsByTagName("messageDate");
var message=XMLMag.getElementsByTagName("send");
document.getElementById("message").innerHTML+=admin;//message为DIV的ID
document.getElementById("message").innerHTML+=messageDate;
document.getElementById("message").innerHTML+=message;//================继续执行,而且你使用异步不多好?你用同步页面冻结了
setInterval("read()",3000);}
setInterval("read()",3000);
就是把这个放到函数内部吗?
var strResult;/结果变为全局变量
function GetResult(url){ if(window.XMLHttpRequest){ //IE7, Mozilla ,Firefox 等浏览器内置该对象 showmov = new XMLHttpRequest(); }else if(window.ActiveXObject){ //IE6、IE5 try{ showmov = new ActiveXObject("Msxml2.XMLHTTP");} catch (e){ ; } if( showmov == null) try { showmov = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){; } }
showmov.open("get",url,false);==========>>showmov.open("get",url,true);
showmov.onreadystatechange=handle;===>>添加一个状态处理函数
showmov.send(null);
}
function handle()
{
if(showowmov.readystate==4)
if(showowmov.responseText!='')
{
if(showowmov.status!=400)
{
var XMLMag=showmov.responseXML;
var admin=XMLMag.getElementsByTagName("adminID");
var messageDate=XMLMag.getElementsByTagName("messageDate");
var message=XMLMag.getElementsByTagName("send");
document.getElementById("message").innerHTML+=admin;//message为DIV的ID
document.getElementById("message").innerHTML+=messageDate;
document.getElementById("message").innerHTML+=message;//================继续执行,而且你使用异步不多好?你用同步页面冻结了
setInterval("read()",3000);} }
else
alert("请求的文件未找到!");
}
else
{
alert("加载信息出错");
}
}function read(){
GetResult("mag.jsp");
//结果处理放到状态处理函数中
}
要去吃饭。回来研究下,最后结贴。。
谢谢 showbo
结贴了