Ajaxajax 异步刷新

首先种方法,ajax实现: 理所当然,ajax使用起来真怪简短即可以实现,但是其中的许多知识或比有接触大的。我前举行页面时自动刷新的效果就是因此的ajax。完整代码是:
1.getTime.php:

复制代码代码如下:

<?php
header(“cache-control:no-cache,must-revalidate”);  
header(“Content-Type:text/html;charset=utf-8”);
$time = “2012-1-20 18:00:00”;
$dt_element=explode(” “,$time);
$date_element=explode(“-“,$dt_element[0]);
$time_element=explode(“:”,$dt_element[1]);
$date =
mktime($time_element[0],$time_element[1],$time_element[2],$date_element[1],$date_element[2],$date_element[0]);
$nowTime = time();  
$showtime = date(“北京时间Y年m月d日H:i:s”,$date-$nowTime);  
if($showtime<=”北京时间1970年01月01日08:00:00″){
 echo “happy new year”;
}
echo $showtime;

2.zidong.php:

复制代码代码如下:

</head>  
<body>  
<h1>Ajax动态显示时间</h1>  
<input type=”button” value=”开始显示时间” id=”go” onclick=”start()”
/>  
<p>当前岁月:<font color=”red”><span
id=”showtime”></span></font></p>  
</body>  
<script type=”text/javascript”>
var xmlHttp;
function createXMLHttpRequest(){
 if(window.ActiveXObject){
  xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”);
 }
 else if(window.XMLHttpRequest){
  xmlHttp = new XMLHttpRequest();
 }
}
function start(){
 createXMLHttpRequest();
 var url=”getTime.php”;
 xmlHttp.open(“GET”,url,true);
 xmlHttp.onreadystatechange = callback;
 xmlHttp.send(null);
}
function callback(){
 if(xmlHttp.readyState == 4){
  if(xmlHttp.status == 200){
   document.getElementById(“showtime”).innerHTML =
xmlHttp.responseText;
   setTimeout(“start()”,1000);
  }
 }
}
</script>
</html> 

每当浏览器中一直访问zidong.php就可以了,点击里面的按钮就可以看到效益。
这就是是因此ajax做的基础代谢页面局部内容之小例子。你也许会见怀疑:这个中没与数据库交互啊?这尚无略,直接以getTime.php页面里面操作就好啊。

这种方法就是毫无多说了吧。至于ajax里面的代码是啊意思,不要问我啦,我事先就说过,这个中的ajax还是起接触很的。

仲栽办法:使用iframe方法实现。 不要受我说之所以PHP
的include可以什么。你失去尝试吧。可以,可以纵非会见来那么多口当百度里面问了。
这种方式也说起来复杂,其实还是坏简单的。说下原理吧:
假如刷新的页面被把要活动刷新的一对的代码单独将出去,做成一个独立的页面,自动刷新有酷多种方:可以以这独自页面被之所以javascript来决定,什么setTimeout(“start()”,1000);啊要setInterval(“start()”,1000);(每隔1秒刷新页面)这样,还可用meta标签实现:<meta
http-equiv=”Refresh”
content=”10″>(每隔10秒刷新页面)。这样于原的页面被因故iframe来将它们调用过来。这样尽管可了。
或上示例代码吧:
1.show.php:

复制代码代码如下:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;  
<html xmlns=”http://www.w3.org/1999/xhtml"&gt;  
<head>  
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″
/>  
<!–<meta http-equiv=”refresh” content=”5″>–>  
<title>Admin</title>  
<script language=”javascript” type=”text/javascript”
src=”/extend/js/json.js” ></script>  
<script language=”javascript” type=”text/javascript”
src=”/extend/menus.js”></script>  
<script language=”javascript” type=”text/javascript”
src=”/extend/js/jquery-1.4.2.js”></script>  
<link href=”/css/main.css” rel=”stylesheet” type=”text/css” />  
<link href=”/css/question.css” rel=”stylesheet” type=”text/css”
/>  
<script type=”text/javascript”>  
//下面的isKeyTrigger()、ctrlEnter()、submitContent()方法是响应键盘事件提交内容之。兼容性不错。  
function isKeyTrigger(e,keyCode){  
var argv = isKeyTrigger.arguments;  
var argc = isKeyTrigger.arguments.length;  
var bCtrl = false;  
if(argc > 2){  
bCtrl = argv[2];  
}  
var bAlt = false;  
if(argc > 3){  
bAlt = argv[3];  
}  

var nav4 = window.Event ? true : false;  

if(typeof e == ‘undefined’) {  
e = event;  
}  

if( bCtrl &&  
!((typeof e.ctrlKey != ‘undefined’) ?  
e.ctrlKey : e.modifiers & Event.CONTROL_MASK > 0)){  
return false;  
}  
if( bAlt &&  
!((typeof e.altKey != ‘undefined’) ?  
e.altKey : e.modifiers & Event.ALT_MASK > 0)){  
return false;  
}  
var whichCode = 0;  
if (nav4) whichCode = e.which;  
else if (e.type == “keypress” || e.type == “keydown”)  
whichCode = e.keyCode;  
else whichCode = e.button;  

return (whichCode == keyCode);  
}  

function ctrlEnter(e){  
var ie =navigator.appName==”Microsoft Internet Explorer”?true:false;  
if(ie){  
if(event.ctrlKey && window.event.keyCode==13){  
submitContent();  
}  
}else{  
if(isKeyTrigger(e,13,true)){  
submitContent();  
}  
}  
}  
function submitContent(){  
save_answer();   
}  

  
function save_answer(){   
var $content = $(‘#answer’).val();  
var $save_answer_url = ‘<?php echo $save_answer_url;?>’;  
if ( $content == ” ){  
alert(“no data!”);  
return;  
}  
var $post_data = {  
content : $content ,  
qid:'<?php echo $question[‘ID’];?>’,  
uid:'<?php echo $questionUser[‘ID’];?>’  
};  
//alert($save_answer_url);  
$.ajax({  
type : ‘post’ ,  
url : $save_answer_url ,  
data : $post_data ,  
success : function( e ){  
var $rs = JSON.decode( e );  
if ( $rs.succ == 1 ){  
alert(“answer success!”);  
$(‘#answer’).val(“”);  
location.reload(); //刷新页面  
} else {  
alert( $rs.msg );  
}  
}  
});  
}  
//删除答案  
function deleteanswer($id){  
var $delete_answer_url = ‘<?php echo
$delete_answer_url;?>’;  
var $post_data = {  
id : $id  
};  
if(confirm(“are you sure delete?”)){  
$.ajax({  
type : ‘post’ ,  
url : $delete_answer_url,  
data : $post_data ,  
success : function( e ){  
var $rs = JSON.decode( e );  
if ( $rs.succ == 1 ){  
alert(“delete success!”);  
location.reload(); //刷新页面  
} else {  
alert( $rs.msg );  
}  
}  
});  
}  
else{  
return;  
}  

}  
////设置为最佳答案  
//function setbestanswer($id,$aid){  
//  var $set_bestanswer_url = ‘<?php echo
$set_bestanswer_url;?>’;  
//  var $post_data = {  
//  id : $id ,  
//  aid : $aid  
//  };  
//  if(confirm(“are you sure set this answer is best?”)){  
//  $.ajax({  
//  type : ‘post’ ,  
//  url : $set_bestanswer_url,  
//  data : $post_data ,  
//  success : function( e ){  
//  var $rs = JSON.decode( e );  
//  if ( $rs.succ == 1 ){  
//  alert(“set success!”);  
//  location.reload(); //刷新页面  
//  } else {  
//  alert( $rs.msg );  
//  }  
//  }  
//  });  
//  }  
//  else{  
//  return;  
//  }  
//
//}  
</script>  
<!–<script language=”javascript”>–>  
<!–setInterval(“myajax();”,1000);–>  
<!–function myajax()–>  
<!–{–>  
<!–  //获取信息json数组 –>  
<!–  var html2 = “”;–>  
<!–  html2 = “<table id=\”answerTable\”><tr><td
class=\”answerHead\” colspan=\”2\”> 回答:”+–>  
<!–   “</td></tr><tr><td><iframe width=0
height=0
src=\”check_new.php\”></iframe></td></tr>”+–>  
<!–   “<?php if (isset($answers) && !empty($answers)) {foreach
($answers as $key=>$value){?>”+–>  
<!–   “<tr><td class=\”boss\”>”+–>  
<!–   “<?php echo $value[‘Answer’];?>”+–>  
<!–   “</td><td
style=\”text-align:right;\”>”+–>  
<!–   “<?php if($_SESSION[‘ADMINISTRATOR’]){?>”+–>  
<!–   “<a href=\”javascript:deleteanswer(<?php echo
$value[‘ID’];?>);\”>”+–>  
<!–   “<img src=\”questiondelete.jpg\” 
style=\”border:0;\”/></a>”+–>  
<!–   “<?php   }?>”+–>  
<!–   “</td></tr><tr><td
class=\”answerAuthor\” colspan=\”2\”>回答者:”+–>  
<!–   “<?php echo $value[‘Email’];?>”+–>  
<!–   ”   回答时:”+–>  
<!–   “<?php echo $value[‘Date’];?>”+–>  
<!–   “</td></tr><tr><td
colspan=\”2\”><hr style=\”border: 1px dashed #ccc; width:
100%; height: 1px;\” /></td></tr>”+–>  
<!–   “<?php }}else{?>”+–>  
<!–   “<tr><td style=\”text-align:center;height:80px;\”
colspan=\”2\”>该问题即还尚无用户对,你可以以下面填写内容来对</td></tr>”+–>  
<!–   “<?php }?>  </table>”;–>  
<!–  $(“#answerDiv”).html(html2);–>  
<!–}–>  
<!–</script>–>  

<!–<script type=”text/javascript”>–>  
<!–var xmlHttp;–>  
<!–function createXMLHttpRequest(){–>  
<!– if(window.ActiveXObject){–>  
<!–  xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”);–>  
<!– }–>  
<!– else if(window.XMLHttpRequest){–>  
<!–  xmlHttp = new XMLHttpRequest();–>  
<!– }–>  
<!–}–>  
<!–function start(){–>  
<!– //alert(“laslfda;f”);–>  
<!– createXMLHttpRequest();–>  
<!– var url=”/extend/check_new.php?sid=”+Math.random()”;–>  
<!– //var url = “../../view/product/check_new.php”;–>  
<!– //alert(url);–>  
<!– xmlHttp.open(“GET”,url,true);–>  
<!– //alert(url);–>  
<!– xmlHttp.onreadystatechange = callback;–>  
<!– xmlHttp.send(null);–>  
<!–}–>  
<!–function callback(){–>  
<!– if(xmlHttp.readyState == 4){–>  
<!–  //alert(“asdflasdf”);–>  
<!–  //if(xmlHttp.status == 200){–>  
<!–   document.getElementById(“answerDiv”).innerHTML =
xmlHttp.responseText;–>  
<!–  
//alert(document.getElementById(“answerDiv”).innerHTML);–>  
<!–   setTimeout(“start()”,1000);–>  
<!–  //}–>  
<!–  //alert(xmlHttp.status);–>  
<!– }–>  
<!–}–>  
<!–setInterval(“start()”,1000);–>  
<!–</script>–>  
</head>  
<body onkeydown=”javascript:ctrlEnter(event);”>  
<center>  
<div class=”Container”>  
   <table>  
  <tr>  
   <th class=”zongHead” colspan=”2″> 
产品问题同应对详尽列表</th>  
  </tr>  
  <tr>  
   <td colspan=”2″><hr/></td>  
  </tr>  
  <tr>  
   <td class=”questionHead” colspan=”2″>
该问题详细内容:</td>  
  </tr>  
  <?php   
 if (isset($question) && !empty($question)) {  
  ?>  
<tr>  
 <td class=”questionContent” colspan=”2″><?php echo
$question[‘Question’];?></td>  
</tr>  
<tr>  
  <td class=”author” colspan=”2″>提问者:<?php echo
$questionUser[‘Email’];?>   提问时间:<?php echo
$question[‘Date’];?></td>  
</tr>  
  <?php   
 }  
  ?>  
  <tr>  
   <td colspan=”2″><hr/></td>  
  </tr>  
</table>  
<iframe src=”<?php echo
get_url(array(‘m’=>’product’,’a’=>’product_newmsg’,’qid’=>$qid));?>”
scrolling=”no” frameborder=”0″ width=”999px”
onload=”this.height=this.contentWindow.document.documentElement.scrollHeight”></iframe>  
<!–<div id=”answerDiv” class=”answerDiv”>  
<table id=”answerTable”>  
  <tr>  
<td class=”answerHead” colspan=”2″> 回答:</td>  
  </tr>  
  <tr>  
<td><iframe width=0 height=0
src=”check_new.php”></iframe></td>  
  </tr>  
<?php   
if (isset($answers) && !empty($answers)) {  
foreach ($answers as $key=>$value){  
?>  
<tr>  
  <td class=”boss”><?php echo
$value[‘Answer’];?></td>  
  <td style=”text-align:right;”>  
  <?php   
if($_SESSION[‘ADMINISTRATOR’]){//如果$_SESSION[‘ADMINISTRATOR’]=0,即非是极品管理员,则不显示删除按钮  
  ?>  
   <a href=”javascript:deleteanswer(<?php echo
$value[‘ID’];?>);”><img src=”questiondelete.jpg” 
style=”border:0;”/></a>  
  <?php
}  
  ?>  
  </td>  
</tr>  
<tr>  
 <td class=”answerAuthor” colspan=”2″>回答者:<?php echo
$value[‘Email’];?>   回答时:<?php echo
$value[‘Date’];?></td>  
</tr>  
<tr>  
 <td colspan=”2″><hr style=”border: 1px dashed #ccc; width:
100%; height: 1px;” /></td>  
</tr>  
<?php   
}  
}else{  
?>  
<tr>  
 <td style=”text-align:center;height:80px;”
colspan=”2″>该问题时尚从未用户作答,你可在脚填写内容来报</td>  
</tr>  
<?php   
}  
?> 
  </table>  
  </div>  
  –><table class=”youWrite”>  
   <tr>  
 <td>你为回应瞬间吧:</td>  
   </tr>  
   <tr>  
 <td>  
  <textarea rows=”10″ cols=”80″ id=”answer”
name=”answer”></textarea>  
 </td>  
   </tr>  
   <tr>  
 <td class=”submits”><a
href=”javascript:save_answer();”><img style=”border:0;”
src=”questionbutton.jpg”/></a></td>  
</tr>  
  </table>  
</div>  
</center>  
</body>  
</html>  

2.product_newmsg.php:

复制代码代码如下:

<meta http-equiv=”Refresh” content=”10″>
<script language=”javascript” type=”text/javascript”
src=”/extend/js/json.js” ></script>
<script language=”javascript” type=”text/javascript”
src=”/extend/menus.js”></script>
<script language=”javascript” type=”text/javascript”
src=”/extend/js/jquery-1.4.2.js”></script>
<link href=”/css/main.css” rel=”stylesheet” type=”text/css” />
<link href=”/css/question.css” rel=”stylesheet” type=”text/css”
/>
<script type=”text/javascript”>
//删除答案
function deleteanswer($id){
 var $delete_answer_url = ‘<?php echo
$delete_answer_url;?>’;
 var $post_data = {
  id : $id
 };
 if(confirm(“are you sure delete?”)){
  $.ajax({
   type : ‘post’ ,
   url : $delete_answer_url,
   data : $post_data ,
   success : function( e ){
    var $rs = JSON.decode( e );
    if ( $rs.succ == 1 ){
     alert(“delete success!”);
     location.reload(); //刷新页面
    } else {
     alert( $rs.msg );
    }
   }
  });
 }
 else{
  return;
 }

}
</script>
<div id=”answerDiv” class=”answerDiv”>
    <table id=”answerTable”>
      <tr>
    <td class=”answerHead” colspan=”2″> 回答:</td>
      </tr>
<!–  <tr>–>
<!–<td><iframe width=0 height=0
src=”check_new.php”></iframe></td>–>
<!–  </tr>–>
<?php

 

if (isset($answers) && !empty($answers)) {
 foreach ($answers as $key=>$value){
?>
 <tr>
   <td class=”boss”><?php echo
$value[‘Answer’];?></td>
   <td style=”text-align:right;”>
   <?php 
 if($_SESSION[‘ADMINISTRATOR’]){//如果$_SESSION[‘ADMINISTRATOR’]=0,即未是顶尖管理员,则未出示删除按钮
   ?>
    <a href=”javascript:deleteanswer(<?php echo
$value[‘ID’];?>);”><img src=”questiondelete.jpg” 
style=”border:0;”/></a>
   <?php  
 }
   ?>
   </td>
 </tr>
 <tr>
 <td class=”answerAuthor” colspan=”2″>回答者:<?php echo
$value[‘Email’];?>   回答时:<?php echo
$value[‘Date’];?></td>
</tr>
<tr>
 <td colspan=”2″><hr style=”border: 1px dashed #ccc; width:
100%; height: 1px;” /></td>
</tr>
<?php 
 }
}else{
?>
 <tr>
  <td style=”text-align:center;height:80px;”
colspan=”2″>该问题即还尚无用户对,你可以于下面填写内容来答复</td>
 </tr>
<?php 
}
?> 
  </table>
  </div>

这么就好兑现了。在浏览器被做客show.php就可以看到效能了。但是这个示例里面来不少事物操作了数据库。直接访问没什么效果。但是代码肯定是得的。里面的规律与代码都是共同体的。
好了。这里就是介绍这片种植艺术。有立有限种艺术都好形成差不多所有的页面局部刷新了。

相关文章