【问题标题】:stop php loop with html button用 html 按钮停止 php 循环
【发布时间】:2016-03-12 03:19:56
【问题描述】:

是否可以使用出现在我的 js 页面中的按钮来停止 PHP 循环? 这里是发帖请求:

$("#startLoop").click(function () {
  var postData = {
    'data': "some data",
  };
  $.post("http://mySite/?controller=myController&action=startLoop", postData)
    .done(function (data) {
    });
});

我的php代码:

public function startLoop()
{

    $ArrayObj = getDataFromDB();
        foreach($ArrayObj as Obj)
        {
            sleep(1);
            echo "row<br>";
        }
}

之后,我需要用html按钮停止php循环。可以吗?

【问题讨论】:

  • 你不能像那样与 PHP 交互。
  • 您可以在 JS 中创建一个循环并获取每个数据片段,然后让 HTML 停止 JS。但是,客户端无法与 PHP 交互(AJAX 除外)。
  • 我只写了一个简单的循环,我的问题是是否可以停止它?
  • 您可以通过将php.net/manual/en/control-structures.break.php 放入循环中来跳出循环。
  • public function stopLoop() { $_SESSION["stop"] = 'true'; } 并在循环中添加如下条件:if($_SESSION["stop"] == 'true') break; 可能是这样的?

标签: javascript php jquery html


【解决方案1】:

客户端(浏览器)无法与服务器 (PHP) 屏幕后面发生的事情进行交互。

【讨论】:

  • 最好添加更多关于它的细节,OP 可能没有任何关于它的信息。在我看来是这样的。
【解决方案2】:

简短的回答。 不,这是不可能的

长答案 PHP是服务器端,JS是客户端。他们并没有真正的联系。 AJAX 只是打开一个 php 页面,然后返回值。但它可以是任何页面。

【讨论】:

  • 您可以在答案中添加更多内容以使其更好。
  • 我想,请保持简短,但我添加了更多信息
【解决方案3】:

您不一定希望 PHP 在等待外部中断的单个脚本中运行任何可能的无限循环;我建议你使用 Node.js 之类的东西来进行这样的操作 - 除了 socket.io 包,你可以完全做到这一点,只需在 javascript 中。

【讨论】:

    猜你喜欢
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2012-07-14
    相关资源
    最近更新 更多