网页定时刷新_ajax
单独调用ajax可以,在定时器中调用不起作用,浏览器左下角提示“网页上有错误” 有可能是我使用setTimeout不对,请大家帮忙看看,代码如下:
/////////////////show.asp
<html>
<head>
<script type="text/javascript">
function showCustomer()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp",true);
xmlhttp.send();
}
</script>
</head>
<body>
<script>setTimeout(showCustomer, 1000)</script>
</body>
</html>
////////////////getcustomer.asp
<%
table_name = "m2.xls"
set excelConn=Server.CreateObject("Adodb.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath(table_name)
excelConn.open Driver&DBPath
sql="select * from [Sheet1$]" '[Sheet1$]表单名
set rs=excelConn.execute(sql)
response.write("<table>")
do until rs.EOF
for each x in rs.Fields
response.write("<tr><td><b>" & "ab" & "</b></td>")
response.write("<td>" & Now() & "</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
%>
------解决方案--------------------
你这个代码是想1秒刷新一次,
但<script>setTimeout(showCustomer, 1000)</script> 只能执行一次.
把这段放入函数最后, 就可以循环执行.
不过我怀疑它执行的效率, 而且会不会进入死循环, 你最好监视一下执行时间.
------解决方案--------------------
楼主现在的问题是页面有错误,上面的不是重点
需要确定错误的位置
工具-internet选项-高级-禁用脚本调试 把这个的选中去掉,再运行,看看具体是那句代码错了
另:setTimeout并没有错,就算有问题也是如4楼说的只能执行一次,但肯定是不会死循环的,放心