1. 程式人生 > >請教Ajax 設定每隔1秒自動呼叫.但是隻有第一次呼叫是成功的??為什麼!

請教Ajax 設定每隔1秒自動呼叫.但是隻有第一次呼叫是成功的??為什麼!

頁面一
名稱 frameview.jsp

我想要實現的功能 傳送請求到ajax.jsp 頁面 獲得返回值!
呼叫這個方法我想一秒鐘呼叫一下,可是實際上我的只是在剛開始啟動的時候,才能傳送到ajax.jsp頁面成功!
var newstimer=setInterval("diaoajax()",1000) ;//一秒呼叫一次!

---------------頁面內容如下-------------

<%@ page contentType="text/html;charset=GBK" import="java.util.*" %>

<%
String imgpath = request.getContextPath();
%>
<script type="text/javascript">
<!--
var xmlhttp;
try{
xmlhttp=new XMLHttpRequest();
}catch(e){
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
var newstimer=setInterval("diaoajax()",1000) ;

function diaoajax(){

xmlhttp.onreadystatechange=function(){
//alert('login');
if(4==xmlhttp.readyState){
if(200==xmlhttp.status){
//去掉空格str
var str = xmlhttp.responseText;
var reg = /\s/g;
var ss = str.replace(reg,"");
//alert(ss);
if(ss=="no"){
document.getElementById("ylview").style.visibility="hidden";
return;
}else{
document.getElementById("ylview").style.visibility="visible";
return;
}
}else{
}
}else{
//alert(xmlhttp.readyState);
}
}
xmlhttp.open("get","<%=imgpath%>/jsp/yusuan/tongji/ajax.jsp", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(null);
return ;
}

//-->
</script>
<style>
.divyl{
//visibility:hidden;
visibility:hidden;
}
</style>
<html>
<div class="divyl" id="ylview">
<table align="center">
<tr><td><img src="<%=imgpath %>/images/deng.jpg" alt="等待" /></td></tr>
</table>
</div>
</html>

二 ajax.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String sessionStr = (String)request.getSession().getAttribute("flashtime");
System.out.println("css-----------------------csss");
if(sessionStr!=null){
response.getWriter().print("ok");
}else{
response.getWriter().print("no");
}
%>


//在我的後臺只能列印css-----------------------csss一次,不是我想的一秒列印一次為什麼,如何才能一秒傳送成功請求一次!!