ajax:更新而不刷新

时间:2012-05-04 02:08:06

标签: php jquery ajax

http://pastebin.com/bnMaxjep

http://www.vidyasocks.com/index.php

请参阅底部的自动收录器,我想更新它,以便在没有用户刷新页面的情况下显示。我正在使用ajax来做到这一点。

我该怎么办?这是我第一次使用它。

1 个答案:

答案 0 :(得分:2)

主页面会是这样的:

<?php session_start(); 

$_SESSION['visitcount']=0;

?>
<script>
function runcounter()
{
if (window.XMLHttpRequest)
  {
// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {
// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("counterelement").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("POST","counter.php",true);
//may need these:
var params="id=testdata";
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
//need rest
xmlhttp.send();

setTimeout("runcounter()",1000); //refresh function every second

}
</script>
<body onload="runcounter()" >

<div id="counterelement">0</div>

这将每秒更新一次函数(计数器),并在页面加载时运行一次。

PHP:

session_start();
$_SESSION['visitcount']++;
echo $_SESSION['visitcount'];