当前位置: 技术问答>linux和unix
linux+apache+cgi,有什么方法可以让客户端看见的页面实时变化
来源: 互联网 发布时间:2015-11-12
本文导语: 平台是 linux,apache,cgi 在客户端浏览器打开页面,页面上有数值显示,数值来自于服务器linux下 数值是不停的改变的 有什么方法 可以让客户端看见的页面,数值也是实时变化的 要求是速度要快(数值实时变化的频率...
平台是
linux,apache,cgi
在客户端浏览器打开页面,页面上有数值显示,数值来自于服务器linux下
数值是不停的改变的
有什么方法
可以让客户端看见的页面,数值也是实时变化的
要求是速度要快(数值实时变化的频率不能够超过3秒,最好1秒)
用客户端脚本定时刷新?
都有什么方法可以实现,哪种方法最高效?
linux,apache,cgi
在客户端浏览器打开页面,页面上有数值显示,数值来自于服务器linux下
数值是不停的改变的
有什么方法
可以让客户端看见的页面,数值也是实时变化的
要求是速度要快(数值实时变化的频率不能够超过3秒,最好1秒)
用客户端脚本定时刷新?
都有什么方法可以实现,哪种方法最高效?
|
不错,ajax可以实现。
不过远水解不了近渴,而且不一定适合你的环境。你完全可以借鉴ajax的核心思想,那就是用XMLHttpRequest对象。
下面是一个简单的例子:
var req=null;
var console=null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;
function loadXMLDoc(url) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
}
}
function processReqChange(){
var ready=req.readyState;
var data=null;
if (ready==READY_STATE_COMPLETE){
data=req.responseText;
}else{
data="loading...["+ready+"]";
}
toConsole(data);
}
function toConsole(data){
if (console!=null){
var newline=document.createElement("div");
console.appendChild(newline);
var txt=document.createTextNode(data);
newline.appendChild(txt);
}
}
window.onload=function(){
console=document.getElementById('console');
loadXMLDoc("data.txt");
}
不过远水解不了近渴,而且不一定适合你的环境。你完全可以借鉴ajax的核心思想,那就是用XMLHttpRequest对象。
下面是一个简单的例子:
var req=null;
var console=null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;
function loadXMLDoc(url) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
}
}
function processReqChange(){
var ready=req.readyState;
var data=null;
if (ready==READY_STATE_COMPLETE){
data=req.responseText;
}else{
data="loading...["+ready+"]";
}
toConsole(data);
}
function toConsole(data){
if (console!=null){
var newline=document.createElement("div");
console.appendChild(newline);
var txt=document.createTextNode(data);
newline.appendChild(txt);
}
}
window.onload=function(){
console=document.getElementById('console');
loadXMLDoc("data.txt");
}
|
我也想知道
学习
学习