小编典典

Laravel在Ajax之后刷新数据

ajax

他目前正在研究必须过滤表中数据的代码。Ajax将调用该链接并获取带有答案的响应(json)结果。但是,我遇到了一个问题。我必须以某种方式呈现表,并且我不想通过append等来执行此操作。

我可以以某种方式再次生成视图或刀片文件吗?

默认视图是DefController @ index,但是ajax使用url,而该控制器是DefController @ gettabledata。

public function gettabledata($id){

    return response()->json(Def::find($id)->getallmy->all());

}

阅读 319

收藏
2020-07-26

共1个答案

小编典典

您可以将零件放置在模板中与表格相对应的单独.blade.php文件中,并将零件放置@include在主布局中。

main.blade.php

<html>
...
<body>
  <div class="table-container">
  @include('table')
  </div>
</body>
...

table.blade.php

<table>
  @foreach($rows as $row)
    <tr>
      <td> $row->title ... </td>
    </tr>
  @endforeach
</table>

这样,您可以使用简单的jQuery,$('div.table- container').load(url)并在您的服务器上仅渲染该部分并将其作为html字符串响应。return view('table', $data)

Javascript:

function refreshTable() {
  $('div.table-container').fadeOut();
  $('div.table-container').load(url, function() {
      $('div.table-container').fadeIn();
  });
}
2020-07-26