it167.com  设为主页
 收藏本站
 
  资讯:业界动态 | 软件动态 | 人物专栏 | 安全资讯 | 网络生活 | 电子商务 | 小游戏 | 视频 | 美女图片 | 音乐
  网络编程 | 网站运营 | 网页制作 | 图形图象 | 操作系统 | 媒体动画 | 软件教学 | 网络应用 | 邮件系统 | 网络安全 | 认证考试
asp | .net | php | jsp | Sql | java | Dreamweaver | FrontPages | Javascript | css | Coreldraw | photoshop | Flash | Coreldraw
当前位置: > 主页>网络编程>AJAX>用AJAX技术实现网页无闪自动刷新
最新新闻

·机会与整合 边缘化互联
·TOM-Skype新增三大本地
·雅虎抢闸邮箱竞赛 网易
·新浪抢攻北京奥运
·洞悉网络口碑的掘金机会
·拆解网络病毒黑金交易
·木马下载器近期出现新变
·《互联网周刊》第17期文
·Web2.0是否催生自吹自擂
·三张宝宝裸照招来MSN封
热门新闻
·php+ajax文件上传进度条
·基于css样式绑定的样式
·微软的Ajax库客户端Bug
·Ajax联动下拉框的实现例
·关于在AJAX中GET回的Res
·ajax下RegisterClientSc
·通过PHP和Sajax使用Ajax
·AJAX入门之深入理解Java
·MagicAjax.net2.0 框架
·AJAX之xmlHttp
推荐新闻
 
 

用AJAX技术实现网页无闪自动刷新 

作者:   来源:   点击:   日期:2007-10-28

我们在网页制作的过程中经常会遇到及时刷新数据的问题,如果使用 的方法,会造成整个屏幕不断闪烁刷新的效果,这会降低用户的操作满意度。



所以我们需要一种可以实现无闪自动刷新数据的方法来解决以上问题。



实例解决问题:



希望实现用户在进入系统以后(整个session的时效之内),如果收到新邮件则发出声音提示。



实现思路:



1.首页部分:< body onload="init('');"> // load时调用init(user);



2.js部分:用XMLHTTP实现页面局部刷新,调用check_mail.jsp对后台数据库进行检索判断并返回结果。



<!--



var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");



var checkresult=null;



var username =null;



function init(user){



username=user;



window.setInterval('Checkmail()',5000);//每隔5秒自动调用Checkmail()



}



function Checkmail()



{



xmlhttp.open("POST", "check_mail.jsp?uName="+username, false);



xmlhttp.onreadystatechange = updatePage;



xmlhttp.send();



}



function updatePage() {



if (xmlhttp.readyState < 4) {



test1.innerHTML="loading...";



}



if (xmlhttp.readyState == 4) {



var response = xmlhttp.responseText;



if(response==1){//判断为假



test1.innerHTML="&nbsp;";



checkresult=1;



}



else{//判断为真



test1.innerHTML="<ccid_file alt=新邮件 values="img/tp024"



alt=新邮件 src=img/tp024.gif />



<EMBED src='music/nudge.wma' hidden=true autostart=true loop=false>";



checkresult=0;



}



}



}



// -->





3.check_mail.jsp





<%@ page contentType="text/html; charset=GBK" %>



<%@ page errorPage="error/login_error.jsp"%>



<%@ page import="myweb.*" %>



<%@ page import="java.sql.*" %>



<%



String user=request.getParameter("uName");



Connection conn=null;



try{



conn=DBConnection.getConnection();



PreparedStatement pStat=conn.divpareStatement("



select * from message where r_name='"+user+"' and status=0");



ResultSet rs=pStat.executeQuery();



if(rs.next()){//有记录



response.getWriter().print(0);



}else{



response.getWriter().print(1);



}



}finally{



if(conn!=null) conn.close();



}



%>





4.首页结果显示



将< span id="test1" > < /span >插入指定位置。



文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·php+ajax文件上传进度条 ·基于css样式绑定的样式驱动式AJAX程序开
·微软的Ajax库客户端Bug总结 ·Ajax联动下拉框的实现例子
·关于在AJAX中GET回的ResponseText中文乱 ·ajax下RegisterClientScriptBlock使用

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:it167  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。