1

我正在做一个关于测试门户的项目。我的控制器中有这样的东西。

    $process = new Process(['../app/Http/Controllers/shcheck.py', '-dj', $request->IP]);
    try {
        $process->mustRun();
        while ($process->isRunning()) {
            // waiting for process to finish
        }
        $headers = json_decode($process->getOutput(),true);
        $data= array('title'=> $title,
        'headers'=> $headers);
        return view('pages.index')->with($data);
    } catch (ProcessFailedException $exception) {
        echo $exception->getMessage();
    }

但是这种方法是不可扩展的,因为我的一些测试可以运行超过一分钟,所以我在谷歌上搜索,发现我可以使用事件和侦听器,将它们堆叠到队列中,而不是等到作业完成。但现在。我有问题,监听器完成工作后如何将 headers 变量传递给 FE?

我有这个作为我要查看的blade.php文件

   @if(isset($headers))
    @if(count($headers)>0)
    <div class="no-gutters border rounded overflow-hidden flex-md-row shadow-sm position-relative  p-2 row">
    <ul>
      @foreach($headers as  $head=> $head_value)
        <li>{{$head}}</li>
        <ul>
        @foreach($head_value as $he=> $x_value)
          @if(strlen($he)>3)
          <li>{{$he}}: {{$x_value}}</li>
          @endif
          @if(strlen($he)<=3)
          <li>{{$x_value}}</li>
          @endif
          @endforeach
        </ul>
      @endforeach
      </ul>
      </div>
    @endif
   @endif

我需要以某种方式包括 Ajax 来完成这种工作吗?或者最好的方法是什么。

4

0 回答 0