使用ajax和echo PHP变量刷新PHP页面

时间:2013-12-27 17:09:47

标签: javascript php ajax

我有一个PHP页面,它有几个查询,我希望能够在我的index.php中包含这个PHP页面并通过自动刷新回显结果(有点像堆栈溢出收件箱)

我怎么能用Javascript / Ajax做到这一点?

3 个答案:

答案 0 :(得分:1)

嗯..我可以提供的解决方案之一是JavaScript函数setInterval();和jQuery lib一起更新div。例如: javascript文件:

$(document).ready(function(){
  setInterval(function(){
    $.get('your.php',function(response){
      $('#your_element_id').html(response);
    });
  },2000);
});

这只是解决方案。请记住,您可以以您想要的各种方式使用这种方式。 更新几个div的示例。

答案 1 :(得分:0)

只需在页面上放置一些容器,并且每30秒使用ajax检查服务器是否有新邮件,更新,错误等,如果有任何数据,请将其设置为DOM

答案 2 :(得分:0)

以下是纯javascript中有关如何使用同一页面中的ajax加载内容的示例

的index.php

<?php
if($_GET['time']){ echo date('Y-m-d H:i:s'); }else{
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>tit</title>
<script>
var result;
function ajax(a,b,c){//url,function,just a placeholder
 c=new XMLHttpRequest;
 c.open('GET',a);
 c.onload=b;
 c.send()
}
function handler(){
 // loading gif
 result.innerHTML='';
 result.appendChild(document.createElement('img')).src='loading.gif';
 ajax('index.php?time=yes',displayResult);
}
function displayResult(){
 //this removes the loading gif
 result.innerHTML=this.response;
}
window.onload=function(){
 result=document.getElementById('result');
 document.getElementById('button').addEventListener('click',handler,false);
}
</script>
</head><body>
<button id="button">Get Time</button>
<div id="result"></div>
</body></html>
<?php } ?>

现在要检查每30秒在window.onload函数中添加此代码

var timer=setInterval(handler,30000)

如果您有一些问题,请问。

更好的方法是使用 SSE (服务器发送事件)或 websockets

https://stackoverflow.com/a/20689738/2450730