高分请教一个定时更新的问题 我要做的功能是以b/s方式实现GPS车辆定位,但是我不希望每次从服务器获取到定位信息都刷新浏览器。我现在想到的做法是由脚本语言(js)定时从服务器获取最新的经纬度信息,然后转化为屏幕坐标,由脚本在浏览器上画出车辆的位置,不知道这种做法是不是比较方便和高效的,而我对js不是很熟,对于如何编码实现该方案也不是很清楚,希望高手指点1 2,或者有更好的实现方案,也请告知,并提示具体的编码实现(所有的分都给了) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用dwr做这种提交或者自己写一个XMLHTTP做提交下面是代码,最后交互的值是你response.getWriter.print("abc");的值! 自己好好看吧var http_request = false;var methodName = null;function send_request(url) {//初始化、指定处理函数、发送请求的函数 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", url, true); http_request.send(null);}// 处理返回信息的函数function processRequest() { if (http_request.readyState == 4) { // 判断对象状态 if (http_request.status == 200) { // 信息已经成功返回,开始处理信息 var returnValue = Trim(unescape(http_request.responseText)); if(methodName!=null){ eval(methodName+"('"+returnValue+"')"); } } else { //页面不正常 alert("您所请求的页面有异常。"); } }}//去前导后继空格function Trim(str){ if(str=="") return str; var newStr = ""+str; RegularExp = /^\s+|\s+$/gi; return newStr.replace( RegularExp,"" );}//*********************************************************************************//xmlhttp提交 url要提交的地址,methodName回调的页面函数function xmlHttpSubmit(url,methodName){ this.methodName = methodName; send_request(url);} 网上搜搜AJAX技术就是做你这样的工作的。 两种方法1 是利用xmlhttp或msxml,定时去服务器取数据,就是ajax的原理。定时由客户端控制2 是服务器在接收到request的时候就拿住这个httpconnect不放,定时利用flush往客户端推送一些刷新坐标的js代码。定时由服务器端控制。 定时从服务器获取到定位信息可以用Timer+侦听器实现Ajax定时从数据库获取新数据,更新客户段 同时搜网(www.tongshisou.com)是一个很有创意的搜索网站,是目前最易用,最方便的整合搜索网站,本身不做搜索却把业界的搜索引擎聚合在自己网站中,包括百度,GOOGLE,YAHOO,中搜,爱问,搜狗,奇虎,腾讯搜搜,OPENV,TVIX,有网页 新闻 图片 音乐 视频 地图 工作 餐饮 的搜索,可谓很全哦,搜索起来确实方便,而且很易用,可以把结果同时在一个网页中以分割条形式分开,而且可以分割成2-4个窗口,大家可以一试哦www.tongshisou.com doomwarrior,你能不能说的详细一点,特别是后一种方法 <meta http-equiv="refresh" content="刷新的秒数">刷新客户端浏览器的唯一办法就是上面的方法,放在你的jsp里.你可以用一个看不见的内框架iframe,里面有一个jsp不断刷新,判断服务器的数据是否有变化,一旦变化就刷新整个jsp. 大家的回答能详细点吗,ajax谁都知道是什么,但在这里怎么用,可以简要说明一下吧 ajax 正是你需要的,ajax就是对xmlhttp包装,不刷新页面而获得server端数据。xmlhttp初体验 http://blog.csdn.net/lcllcl987/archive/2005/07/14/425242.aspxajax的demo:http://blog.csdn.net/lcllcl987/archive/2006/04/22/673119.aspx 为什么写java代码的注释这么纠结!!! error: cannot read: HelloJava.java jdk6+eclipse 运行配置 isNaN方法怎么用 一个关于tomcat+mysql出现问题的问题 一个困扰很久的问题100分!!!!!!求助 1313131 有个小项目要做(java的),愿意做的跟贴!!!!qq:458037 面对JAVA,痛苦的选择…… swing applet用htmlconverter如何转化?我的jdk1.3中找不到htmlconverter这个东东。 怎样在WindowsXP中获得cpu利用率和可用内存情况 创建String对象的问题
var methodName = null;
function send_request(url) {//初始化、指定处理函数、发送请求的函数
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", url, true);
http_request.send(null);
}
// 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
var returnValue = Trim(unescape(http_request.responseText));
if(methodName!=null){
eval(methodName+"('"+returnValue+"')");
}
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
//去前导后继空格
function Trim(str)
{
if(str=="") return str;
var newStr = ""+str;
RegularExp = /^\s+|\s+$/gi;
return newStr.replace( RegularExp,"" );
}
//*********************************************************************************
//xmlhttp提交 url要提交的地址,methodName回调的页面函数
function xmlHttpSubmit(url,methodName){
this.methodName = methodName;
send_request(url);
}
就是做你这样的工作的。
刷新客户端浏览器的唯一办法就是上面的方法,放在你的jsp里.
你可以用一个看不见的内框架iframe,里面有一个jsp不断刷新,
判断服务器的数据是否有变化,一旦变化就刷新整个jsp.
http://blog.csdn.net/lcllcl987/archive/2005/07/14/425242.aspxajax的demo:
http://blog.csdn.net/lcllcl987/archive/2006/04/22/673119.aspx