刷新PHP页面用ajax [英] Refresh PHP Page using ajax

查看:170
本文介绍了刷新PHP页面用ajax的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个PHP页面被刷新,每5秒。在嵌入AJAX的文件,我不觉得发生在Firebug的更新。这里是code骨架:

  ** notification.php **
< PHP
       ....
       ....
?>
< HTML>
     < HEAD>
     <脚本SRC =./ refresh.js>< / SCRIPT>
     <脚本类型=文/ JavaScript的>
         refreshContents();
     < / SCRIPT>
     < /头>
     <身体GT;
            ....

            < D​​IV ID =标识符>
               < P>等候区和LT; / P>
            < / DIV>
      < /身体GT;
< / HTML>


** refresh.js **

VAR秒= 5;
VAR内容=标识;
VAR URL =notification.php;

功能refreshContents()
{
   VAR XMLHTTP;
   尝试
   {
      XMLHTTP =新XMLHtt prequest();
   }
   赶上(E)
   {
      尝试
      {
         XMLHTTP =新的ActiveXObject(MSXML2.XMLHTTP);
      }
      赶上(六)
      {
         尝试
         {
            XMLHTTP =新的ActiveXObject(Microsoft.XMLHTTP);
         }
         赶上(G)
         {
            警报(浏览器不支持Ajax的);
            返回false;
         }
      }
   }


   xmlHttp.onreadystatechange =功能()
   {
      如果(xmlHttp.readyState == 4)
      {
         的document.getElementById(内容).innerHTML = xmlHttp.responseText;
         的setTimeout('refreshContents()',秒* 1000);
      }
   }

   xmlHttp.open(GET,URL,真正的);
   xmlHttp.send(空);
}

VAR秒= 5;
在window.onload =功能startrefresh(){
   的setTimeout('refreshContents()',秒* 1000);
}
 

解决方案

虽然它可能不是理想的解决方案,jQuery有实施的pretty的简单方法正是这一点:

  $(文件)。就绪(函数(){
  函数重载(){
    $(#内容)的负载(notification.php)。
  }
  的setTimeout(重装,秒* 1000)
}
 

我不知道,这将很好地工作,没有一小会儿做它,但它是一个更优雅的解决方案,我相信。

I have a php page that needs to be refreshed every 5 secs. On embedding the ajax file, I don't find the updates taking place in Firebug. Here is the skeleton of the code:

**notification.php**
<?php
       ....
       ....
?>
<html>
     <head>
     <script src="./refresh.js"></script>
     <script type="text/javascript">
         refreshContents();
     </script>
     </head>
     <body>
            ....

            <div id="identifier">
               <p>Waiting area</p>
            </div>
      </body>
</html>


**refresh.js**

var seconds = 5;
var content = "identifier";
var url = "notification.php";

function refreshContents()
{
   var xmlHttp;
   try
   {
      xmlHttp = new XMLHttpRequest();
   }
   catch(e)
   {
      try
      {
         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(f)
      {
         try
         {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch(g)
         {
            alert("Browser not supports Ajax");
            return false;
         }
      }
   }


   xmlHttp.onreadystatechange=function()
   {
      if (xmlHttp.readyState == 4)
      {
         document.getElementById(content).innerHTML = xmlHttp.responseText;
         setTimeout('refreshContents()', seconds*1000);
      }
   }

   xmlHttp.open("GET", url, true);
   xmlHttp.send(null);
}

var seconds = 5;
window.onload = function startrefresh(){
   setTimeout('refreshContents()', seconds*1000);
}

解决方案

Though it may not be the ideal solution, jQuery has a pretty simple way of implementing exactly this:

$(document).ready(function () {
  function reload() {
    $("#content").load("notification.php");
  }
  setTimeOut(reload, seconds*1000)
}

I'm not sure that will work perfectly, haven't done it in a little while, but its a much more elegant solution I do believe.

这篇关于刷新PHP页面用ajax的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆