- HTML code
<html> <head><title>E1_2</title> <script type="text/javascript"> var xmlHttp function showHint() { xmlHttp=GetXmlHttpObject() if(xmlHttp==null) { alert ("您的浏览器不支持AJAX!"); return; } var C_url="gethint.asp"; C_url=C_url+"?q="+"CAlarm_State"; C_url=C_url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",C_url,true); xmlHttp.send(null); var t=setTimeout("GetState()",1000) } function stateChanged() { if(xmlHttp.readyState==4) { document.getElementById("C_State").src=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { xmlHttp=new XMLHttpRequest(); } catch(e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </head> <body onload=showHint()> <form method=POST action=> <table border="0" width="200" cellspacing="4" cellpadding="4"> <tr> <td align="center" width="100"><font size="5">MTP-001</font></td> <td> </td> </tr> <tr> <td align="center" width="100"> <img border="0" id="H_State" width="24" height="24"> <img border="0" id="C_State" width="24" height="24"></td> <td> <p align="right"> <input type="submit" value=RUN name=run> <input type="submit" value=STOP name=stop></td> </tr> <tr> <td align="center" width="100"><b><font size="5">H C</font></b></td> <td align="center"><input type="submit" value=CLR name=clr></td> </tr> </table> </form> </html>
这里我想刷新是链接的两个图片 现在只能刷新一个 能实现刷新两个嘛 ?
上面的代码我也只实现了一个的刷新 ,想同时刷新两个数据需要如何去做呐
等待指教
------解决方案--------------------
responseText在服务器可以设置成为json格式或者是xml格式
responseText 返回{src1:src1,src2:src2}这样的josn格式
document.getElementById("C_State1").src=xmlHttp.responseText.src1;
document.getElementById("C_State2").src=xmlHttp.responseText.src2;
------解决方案--------------------
------解决方案--------------------
3楼正解。
解决办法有很多,最理想的是用json格式返回数据,其次是用逗号分隔的地址,麻烦点就用XML。
需要后台gethint.asp这块改一下,前台stateChanged函数改一下,很简单的。
------解决方案--------------------
1.要在服务器端把两个数据放进去
比如,用换行符分割,按照C_State1,C_State2的顺序写入response
2.在客户端,把数据分割开然后付值。
如在你的函数中
function stateChanged()
{
if(xmlHttp.readyState==4)
{
//取得大数据块
var csvdata=xmlHttp.responseText;
//根据写入规则分割数据(这里使用换行符)
var LF = String.fromCharCode(10);
var lineData = csvdata.split(LF);
//根据写入顺序进行取得。
document.getElementById("C_State1").src=lineData[0];
document.getElementById("C_State2").src=lineData[1];