【问题标题】:javascript timing with php使用 php 的 javascript 计时
【发布时间】:2013-08-15 19:59:39
【问题描述】:

我试图每隔“n”个时间段执行一个javascript函数,该函数将调用一个php文件,该文件将执行某种代码,但不幸的是它不起作用,这里是代码

<p id="code"></p>

    <script>
    var myVar=setInterval(function(){showUser()},1000);



    function showUser() {
        var xmlhttp = null;
        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('txtHint').innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open('GET', 'getuser.php');
        xmlhttp.send();
    document.getElementById("code").innerHTML=t;

    }
    </script>

【问题讨论】:

  • “不起作用”并不能完全帮助我们找出问题所在。你真的想要每秒用一个 ajax 请求来敲击你的服务器吗?以及您使用自己的 ajax 代码而不是使用 jquery 之类的东西的任何原因?
  • 定义“它不起作用”。这段代码在执行吗?它是在发出 AJAX 请求吗?是否收到预期的响应?
  • 这是什么document.getElementById("demo").innerHTML=t;?似乎没有定义t。它可能会导致您的代码出现异常并且无法正常工作。
  • 浏览器控制台中出现什么错误?
  • 顺便说一句,我可以看出你是一个老派的开发人员,所以这里有一个老派的提示:xmlHttp.open 函数在onreadystatechange 的绑定之前被调用,否则它将不起作用IE6 及以下。

标签: php javascript timing


【解决方案1】:
//edit this

document.getElementById('txtHint').innerHTML = xmlhttp.responseText;

//to

document.getElementById("code").innerHTML = xmlhttp.responseText;


//and delete

document.getElementById("code").innerHTML=t;

【讨论】:

  • 还要不断检查通过firebug从php返回的时间并进行相应的调整。 1 秒相当快。
猜你喜欢
  • 2010-11-28
  • 1970-01-01
  • 2014-05-18
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多