javascript - ajax后Laravel刷新数据

标签 javascript php jquery ajax laravel

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

我能否以某种方式再次生成 View 或 Blade 文件?

默认 View 是 DefController@index 但 ajax 使用 Controller 是 DefController@gettabledata 的 url。

public function gettabledata($id){

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

}

最佳答案

您可以将模板中与表格相对应的部分放在单独的 .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 字符串呈现和响应。 返回 View ('table', $data)

Javascript:

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

关于javascript - ajax后Laravel刷新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690068/

相关文章:

javascript - React 渲染图最后一个元素不更新

javascript - DOM(不是实际文档时)

javascript - 如何中止 jQuery 3.0 AJAX 请求?

php - 在 docker 容器中安装 PHP 7 扩展

javascript - 使用一小块图像创建自定义图像

jquery - 为什么 $(this).animate 不起作用

javascript - 如何使用 HTML 5 日期输入增加月份 - 将结果输出到 DOM

javascript - 复选框组选择的动态限制

javascript - 使用ajax调用PHP脚本

javascript - 用于缩放 div 的 jquery 缩放插件