页面一
名称 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一次,不是我想的一秒打印一次为什么,如何才能一秒发送成功请求一次!!
评论
oxromantic 2007-09-26
如果考虑缓存因素,你可以用post代替get
ajaxgo 2007-09-25
另外,不要用全局xmlhttp对象,这样回调函数里得到的都是同一个XHR对象。因为实际情况下,由于网络原因不一定响应就在1秒内返回,这样就会产生冲突。另外,建议楼主用用prototype吧,你自己写有很多漏洞和不足的地方。
Sean220 2007-09-24
url加个日期时间随机数
skyey 2007-09-24
jimichan 写道
可能被浏览器缓存了,get请求时,当url不变的时候,会被浏览器缓存的,试试在url后面加一个随机数的参数
楼上的说法正解
jimichan 2007-09-21
可能被浏览器缓存了,get请求时,当url不变的时候,会被浏览器缓存的,试试在url后面加一个随机数的参数
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论