javascript - 如何在 javascript 中从 setInterval() 调用 php 函数?

标签 javascript php

<分区>

我想在每 10 秒后调用一个 php 函数,为此我正在使用 javascript setInterval。任何人都可以在语法方面提供帮助。

最佳答案

使用 setInterval 调用服务器进程绝不是一个好主意。服务器在收到下一次调用时和返回内容之前可能尚未完成工作。

因为我们有 Ajax,我们可以使用回调来重新发出调用。

例如在 jQuery 中 - XMLHttpRequest 的就绪状态更改中的技术是相同的

function callServer() {
  $.get("myserverprocess.php",function(data) { 
    $("#somecontainer").html(data);
    setTimeout(callServer,10000);
  });
}

注意:以上如果失败则不会重试。如果你需要它再试一次,使用这个

function callServer() {
  $.ajax({
    url: "myserverprocess.php",
    type: 'get'
  })
  .done(function(data) {
    $("#somecontainer").html(data);
  })
  .always(function() {
    setTimeout(callServer,10000);
  })
  .fail(function() {
    $("#somecontainer").html("Error");
  });
}

在纯 JS 中:

function callServer() {
  var x = new XMLHttpRequest();
  x.open("GET", "myserverprocess.php", true);
  x.onreadystatechange = function() {
    if (x.readyState==4 && x.status==200) { // remove status test to keep calling
    document.getElementById("someontainer").innerHTML=x.responseText
    setTimeout(callServer,10000);
  }
  x.send();
}

关于javascript - 如何在 javascript 中从 setInterval() 调用 php 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635842/

相关文章:

Javascript轮播,显示随机div并每3秒更改一次

PHP 在邮件函数中包含无数据回显

php - 如何查找日期是否有效且不大于 2038 年?

php - Paypal IPN 返回空白响应

javascript - 删除li对动态li不起作用

javascript - 如何解决此Firebase云功能错误: Cannot read property

php - 将文件存储在服务器上的非公共(public)可访问目录中

php - Symfony:通过电子邮件发送失败的消息

javascript - 从 css 文件中检索高度属性时遇到问题

javascript - 如何在kendo ui中动态设置图例系列