index页面把onLineCount.jsp给include进来,onLineCount.jsp每隔一段时间刷新一次从数据库中统计数据,很显然这个方法非常的错误,onLineCount.jsp每次刷新的同时index整个页面也要刷新,首页数据量大的情况下肯定不行。而且还出现了一个我更郁闷的问题

:用户a登录后页面显示a的相关信息,用户b

登录后应该显示b的相关信息,如果把刷新的间隔时间设的短假如10秒钟,那么在服务器反映慢的情况下,如果a

已经登录并显示a的内容,但是刚好在b登录的时候,a页面正好刷新,等b登陆成功后b的页面显示b的信息,但这个时候a的页面也显示了b的信息,如果我把这个间隔的时间设长,加入1分钟,即使服务器再慢1分钟应该反映的过来吧,这样就没有出现乱套的问题,如果间隔时间为10秒,服务器反映够快,也不会出现乱套的情况。

于是还得想办法,ajax以前经常听说,实际中也没用过那么就用这个试一下,结果发现还真的像传说中的那么好用

Count.jsp

language="java" %>

import="cn.sh.guanghua.mediamex.common.CountServlet"%>

import="cn.sh.guanghua.mediamex.db.dataunit.MonitorServer"%>

import="cn.sh.guanghua.mediamex.common.Db"%>

import="java.util.List"%>

import="cn.sh.guanghua.monitor.SnmpValueObject"%>

import="java.util.Hashtable"%>

import="cn.sh.guanghua.mediamex.common.OnlineCounter"%>

long  monitorServer_Id=1;

MonitorServer monitorServer=(MonitorServer)

Db.monitorServer().getObject(monitorServer_Id);

String strIp;

String strCommunity;

long port;

long type;

long timeout;

long version;

strIp=monitorServer.getMonitorServerIp();

strCommunity=monitorServer.getMonitorServerCommunity();

port=monitorServer.getMonitorServerSnmpPort();

type=monitorServer.getMonitorServerType();

timeout=monitorServer.getMonitorServerTimeout();

version=monitorServer.getMonitorServerVersion();

List

result=Db.monitorItem().getSnmpValue(type,port,strIp,strCommunity,version,timeout);

SnmpValueObject snmp=null;

//onlineUsercount

// int

onlineUserCount=OnlineCounter.getOnline();

int

onlineUserCount=Db.sivaUsers().geOnlineCount();

%>

var

getOnline=setInterval("send_request()",2000);

var http_request = false;

function send_request()

{//初始化、指定处理函数、发送请求的函数

http_request = false;

//开始初始化XMLHttpRequest对象

if(window.XMLHttpRequest) { //Mozilla

浏览器

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType)

{//设置MiME类别

http_request.overrideMimeType('text/xml');

}

}

else if (window.ActiveXObject) { //

IE浏览器

try {

http_request = new

ActiveXObject("Msxml2.XMLHTTP");

} catch (e)

{

try {

http_request = new

ActiveXObject("Microsoft.XMLHTTP");

} catch (e)

{}

}

}

if (!http_request) { //

异常,创建对象实例失败

window.alert("不能创建XMLHttpRequest对象实例.");

return false;

}

http_request.onreadystatechange

= processRequest;

//

确定发送请求的方式和URL以及是否同步执行下段代码

http_request.open("post",

'getCount.jsp',

true);

http_request.send(null);

}

// 处理返回信息的函数

function processRequest()

{

if

(http_request.readyState == 4) { // 判断对象状态

if (http_request.status == 200) { //

信息已经成功返回,开始处理信息

//alert(http_request.responseText);

onlineCount.innerHTML=http_request.responseText;

} else { //页面不正常

alert("您所请求的页面有异常。");

}

}

}

文章转载请注明来源。新辉网主页 > 网页基础 > Javascript/Ajax >

标题:setInterval定时调用ajax实现在线人数统计

地址:http://www.a55.com.cn/a/1662.html

关键词:setInterval定时调用ajax实现在线人数统计_无梦

ajax联系人数,setInterval定时调用ajax实现在线人数统计相关推荐

  1. jQuery ajax请求两次问题,jquery ajax请求了两次问题

    页面有一个请求form: 订单编号 用户帐户 发货状态 请选择 未发送 已发送 查询 JavaScript请求部分: function showdatalist() { var username = ...

  2. c ajax定时获取,ajax的定时调用每5秒调用一次

    这篇文章主要介绍了关于ajax的定时调用,本例为每5秒调用一次,大家可以根据自己的需求更改 代码如下: function initXMLRequest(){ if (window.ActiveXObj ...

  3. Ajax基石脚本异步并发调用参数传递

    在Ajax开发框架中,最基本的划分是服务器端和客户端.服务器端相对来说比较简单,只要是可以开发动态网页的语言都可以胜任:客户端浏览器就是JScript/JavaScript的天下了,好像没有看到有VB ...

  4. ajax和rxjs,javascript – RxJS 5 Observable和Angular2 http:调用ajax一次,保存结果,随后的ajax调用使用缓存结果...

    下面的代码是我目前拥有的简化版本: name.service.ts@Injectable() export class NameService { const nameURL = "http ...

  5. ajaxsetup获取ajax的url_跨域调用接口的方法之一:$.ajaxSetup()

    跨域查询接口的数据,之前在公司时有发生过,产生的原因是,本地请求的域名或IP地址不一致,解除方法,也是修改域名和IP地址.比如: 接口中的数据来自IP地址:192.168.1.23/get.php 如 ...

  6. ajax获取jsp数据,如何使用ajax调用从servlet到jsp获取arraylist数据

    我通过widow.load()事件上的ajax调用来调用servlet.但是当我想在警报框中显示ajax调用成功后获得的值时,它显示[object XMLDocument]我不知道为什么.这是第一次我 ...

  7. 关于IOS无法在微信浏览器页面关闭时调用ajax问题

    经测试,以下方法为监听ios页面关闭的方式 window.addEventListener('pagehide', function () {//页面关闭时触发 }); 但上述方法内无法调用ajax. ...

  8. ajax使用总结-ajax的配置-ajax的调用-ajax的中文乱码-ajax的表单提交

    ·jquery的使用    0.必须优先引入jquery.js 否则无法调用jquery框架    1.js区分大小写,起名字的时候要注意    2.jquery根据div的id属性获取页面text的 ...

  9. javascript-前后端交互-异步调用Ajax与Promise比较

    javascript-前后端交互-异步调用Ajax与Promise比较 目录 文章目录 1.异步调用 1.1.使用场景 1.2.Ajax使用 1.2.1.启动后台 1.2.2.编写前端测试页面 1.3 ...

最新文章

  1. 图论 ---- 启发式合并 + 并查集模拟 + 证明 F. Phoenix and Earthquake
  2. 【机器视觉】 dev_set_paint算子
  3. 开源绘画应用 Pinta 已移植到GTK 3和.NET 6
  4. OGNL、EL表达式——Struts
  5. 这一项经典功能即将回归!手机厂商们都后悔了...
  6. HDU1754 I Hate It (线段树单点修改+区间查询)
  7. 短文本相似度比较:simHash简介以及java实现
  8. 泰坦尼克号python数据分析统计服_Python数据分析及可视化实例之泰坦尼克号存活预测(23)...
  9. eBay SOA开源平台
  10. python饼图 立体_【Python基础】惊叹,Pyecharts绘制饼图原来可以如此漂亮!
  11. 初体验 | 购买激活Typora软件
  12. Mac的最新版本JDK下载失败的解决方法
  13. mybatis plus 格式话_MyBatisPlus学习整理(二)
  14. 京东2015校园招聘笔试编程题
  15. 复旦经管院李若山教授故事摘要
  16. iOS - 定制多样式二维码
  17. 科学前沿,AI共创 ┃ AI for Science 助力各行业高质量发展
  18. 【Rust日报】2021-08-30 如何来看待 unwrap
  19. ld 无法找到项目符号 链接失败_中海南联石化(D30环保优质溶剂油)PowerPoint 2003应用技术 08...
  20. 《网安学习之道》第一季计算机基础18_生成树协议STP

热门文章

  1. leetcode 446. Arithmetic Slices II - Subsequence | 446. 等差数列划分 II - 子序列(动态规划)
  2. Spring 源码讲解:bean 的创建流程 - 公开课笔记
  3. ZooKeeper实战(三):ZooKeeper实现分布式配置中心、分布式锁、Reactive响应式模型
  4. 算法设计与分析(第四周)同时选最大和最小 优化解法
  5. HTTP系列之:HTTP中的cookies
  6. Hadoop2调优(一):如何控制job的map任务和reduce任务的数量
  7. linux用的那国语言,在linux上可以使用什么变成语言
  8. 函数式接口@FunctionalInterface使用示例
  9. springmvc 注解总结
  10. kotlin学习目录