php+ajax 实现web页面无闪烁刷新 页面前端和后端交互

处理这个问题,首先要将网页的前端和后端分开。前端是呈现给用户看的,后端是真正数据处理逻辑,Ajax巧好起到中间人的作用。最初想用frame框架和js结合实现实现页面的无闪烁交互,但这种方式并不是真正意义上的动态交互。Ajax恰好可以很方便的解决这个问题。

分三个部分来来实现这个需求:1.用户界面,可以位简单的html; 2.  Ajax处理页面; 3. php底层逻辑

以动态请求刷新时间为例。

用户界面html,使用setInterval设置定时刷新,调用js中的refresh函数。

<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Time Refresh</title>
<style type="text/css">
a {display:block;float:left;width:257px;height:30px;
   border:2px solid #09f;background:#fff;text-align:center;
   line-height:30px;margin:5px;
}
#div1 {margin:5px;width:800px;height:100px;float:left;
    text-align:center;border:2px solid #09f;background:#fff;
}

</style>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<script type="text/javascript">
		
	setInterval("refresh()",3000); //设定每隔3s刷新一次
</script>

<div id="div1"></div>
</body>
</html>
2. Ajax部分 ajax.js代码

var xmlHttp;
//判断浏览器是IE 还是其他浏览器
function s_xmlhttprequest(){
    if(window.ActiveXObject){
        xmlHttp= new ActiveXObject('Microsoft.XMLHTTP');
    }else if(window.XMLHttpRequest) {
        xmlHttp= new XMLHttpRequest();
    }
}

function  refresh(){

    s_xmlhttprequest();

    xmlHttp.open("GET","result.php",true);

    xmlHttp.onreadystatechange = byphp;

    xmlHttp.send(null);
}
//接受数据并显示  分为5个状态0,1,2,3,4,5
function byphp(){

    if(xmlHttp.readyState==4){
      var data=xmlHttp.responseText;
      document.getElementById('div1').innerHTML=data;

    }
}

3. php部分

<?php
header("content-type:text/html; charset=utf-8");

echo "Time : <strong style=color:red>".date('Y-m-d H:i:s',time())."</strong>. ";

?>

可以完美的实现页面无闪烁刷新和页面的前后端交互问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值