Php ajax只能工作一次

Php ajax只能工作一次,php,ajax,Php,Ajax,我想把我的网站转换成ajax,所以我一直在玩它。我写了一个简单的HTML页面和PHP脚本,但当我运行它时,我总是得到相同的时间。我肯定我错过了一些简单的东西,但我想不出来 PHP <?php echo date("Y.m.d H:i:s", $_SERVER['REQUEST_TIME']); ?> HTML <html> <head> <meta http-equiv="Content-Type" content="text/html;

我想把我的网站转换成ajax,所以我一直在玩它。我写了一个简单的HTML页面和PHP脚本,但当我运行它时,我总是得到相同的时间。我肯定我错过了一些简单的东西,但我想不出来

PHP

<?php
echo date("Y.m.d H:i:s", $_SERVER['REQUEST_TIME']);
?>

HTML

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
<script language="javascript" type="text/javascript">
<!-- 
//Browser Support Code
function ajaxFunction(){
var ajaxRequest;  // The variable that makes Ajax possible!

try{
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
} catch (e){
    // Internet Explorer Browsers
    try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try{
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
        }
    }
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        document.myForm.time.value = ajaxRequest.responseText;
    }
}
ajaxRequest.open("POST", "serverTime.php", true);
ajaxRequest.send(null); 
}
//-->
</script>
</head>
<body>
<form name='myForm'>
Name: <input type='text'  name='username' /> <br />
Time: <input type='text' name='time' />
    <input type="button" onclick="ajaxFunction();" value="here">
</form> 
</body>
</html>

无标题文件
名称:
时间:
每次我点击这个按钮,我都会得到相同的返回时间。这让我觉得我只跟服务器说了一次话。我希望能够每秒点击按钮,看到时间的变化。我是否需要某种代码来重置每次请求


提前感谢您的帮助。我需要先了解这一点,然后才能继续。

您使用的是$\u服务器['REQUEST\u TIME'],它返回初始请求的时间。您需要使用time()或完全忽略该参数。

浏览器可能会缓存响应。一个简单的黑客解决方案是在url中附加一个随机get参数,例如
var url=”http://www.example.com/?rand=“+Math.random()

移动ajaxRequest.open(“POST”,“serverTime.php”,true);在ajaxRequest.onreadystatechange=function()行之前

这是阿贾克斯订单

开() onreadystatechange
send()

考虑将其用于ajax内容。更易于使用,并且能够处理所有与浏览器相关的代码。自己动手总是有利于学习。但是,是的,我同意,从长远来看,有太多的事情需要担心。我很可能会,但我只是想看看它是如何运作的。感谢使用time()的帮助。REQUEST\u time是开始请求的时间。PHP是无状态的,没有“初始请求”的概念。我的第一个PHP只是日期(H:i:s),同样的事情也发生了。等一下,我试试时间。时间很好,每秒钟都在变化。谢谢,我知道这将是一件简单的事情,我不知道那将如何解决这个问题_o@Adam因为请求是GET请求,并且响应正在缓存。添加该参数会使每个请求都成为一个新的URL,从而防止缓存页面被拉起。这有帮助吗?还是我遗漏了您的问题?JQuery也是这样做的。