Php 通过ajax从blade中的控制器追加表数据

Php 通过ajax从blade中的控制器追加表数据,php,ajax,laravel,html-table,controller,Php,Ajax,Laravel,Html Table,Controller,我的表格是为控制器设计的,我想将此表格附加到laravel刀片中的表格 这是我在控制器中的表: $subLaws=''; $n=1; foreach($sublaw as $sLaw) { $govt_no=''; $eventType=''; $status='Inactive'; $url=url('admin/s

我的表格是为控制器设计的,我想将此表格附加到laravel刀片中的表格

这是我在控制器中的表:

        $subLaws='';
          $n=1;
          foreach($sublaw as $sLaw)
          {
             $govt_no='';
             $eventType='';
             $status='Inactive';
             $url=url('admin/sublawmaster/'.$sLaw->id);
             $lmsid=$sLaw->lms_id;
             $view_url=url('admin/sublawmaster/view/' .$sLaw->id);
             if($sLaw->status=='1'){$status='Active';}
             $subLaws .= '<tr class="odd">
                          <td></td>
                          <td><a href="'.$view_url.'">'.$lmsid.'</a></td>
                          <td>'.$sLaw->sub_law_name.'</td>
                          <td>'.$eventType.'</td>
                          <td><span class="label label-success 
 btn_status">'.$status.'</span></td>
           $n++;
    }
           return json_encode($subLaws);
return $subLaws;
这是刀片文件中的我的表:

<table class="table table-striped table-bordered table-hover" id="sublawmasterdata">
<thead>
            <tr id="header">
            <th align="center" width="80" style="text-align:center;">S NO</th>
                 <th>LMS ID</th>
                 <th>LMS Name</th>
                 <th>LMS Type</th>
                 <th>Status</th>
                 <th>Action</th>
             </tr>
             </thead>
             <tbody>

             </tbody>
            </table>

没有
LMS ID
LMS名称
LMS型
地位
行动
我有一个下拉列表,当从该下拉列表中选择值时,控制器中的表应附加到刀片文件中的表。
如何将控制器中的表附加到刀片文件中的表?

您可以按如下方式替换表内容

$.ajax({
     type: 'GET',
     dataType: "json",
     data: {law_id:id},
     url: "{{ URL::to('admin/postlawid/') }}",
     success: function (data) {
         $("#sublawmasterdata tbody").innerHtml(data.table_html);
     }
});

您可以按如下方式替换表内容

$.ajax({
     type: 'GET',
     dataType: "json",
     data: {law_id:id},
     url: "{{ URL::to('admin/postlawid/') }}",
     success: function (data) {
         $("#sublawmasterdata tbody").innerHtml(data.table_html);
     }
});

如果返回的数据是纯html,则没有理由对其进行json编码。只需返回数据

控制器:

        $subLaws='';
          $n=1;
          foreach($sublaw as $sLaw)
          {
             $govt_no='';
             $eventType='';
             $status='Inactive';
             $url=url('admin/sublawmaster/'.$sLaw->id);
             $lmsid=$sLaw->lms_id;
             $view_url=url('admin/sublawmaster/view/' .$sLaw->id);
             if($sLaw->status=='1'){$status='Active';}
             $subLaws .= '<tr class="odd">
                          <td></td>
                          <td><a href="'.$view_url.'">'.$lmsid.'</a></td>
                          <td>'.$sLaw->sub_law_name.'</td>
                          <td>'.$eventType.'</td>
                          <td><span class="label label-success 
 btn_status">'.$status.'</span></td>
           $n++;
    }
           return json_encode($subLaws);
return $subLaws;
阿贾克斯:


您可以更进一步,将html代码放在blade视图中并返回该视图。但老实说,我更喜欢只返回一个包含必要数据的json对象,然后从javascript构建html。如果返回的数据是纯html,那么就没有理由对其进行json编码。只需返回数据

控制器:

        $subLaws='';
          $n=1;
          foreach($sublaw as $sLaw)
          {
             $govt_no='';
             $eventType='';
             $status='Inactive';
             $url=url('admin/sublawmaster/'.$sLaw->id);
             $lmsid=$sLaw->lms_id;
             $view_url=url('admin/sublawmaster/view/' .$sLaw->id);
             if($sLaw->status=='1'){$status='Active';}
             $subLaws .= '<tr class="odd">
                          <td></td>
                          <td><a href="'.$view_url.'">'.$lmsid.'</a></td>
                          <td>'.$sLaw->sub_law_name.'</td>
                          <td>'.$eventType.'</td>
                          <td><span class="label label-success 
 btn_status">'.$status.'</span></td>
           $n++;
    }
           return json_encode($subLaws);
return $subLaws;
阿贾克斯:

您可以更进一步,将html代码放在blade视图中并返回该视图。但老实说,我更喜欢返回一个包含必要数据的json对象,然后从javascript构建html

$.ajax({
      type: 'GET', 
      dataType: "json", 
      data: {law_id:id},
      url: "{{ URL::to('admin/postlawid/') }}", 
      success: function (data) { 
            $("#sublawmasterdata tbody").innerHtml(data.table_html);
      } 
});
试试这个:

$.ajax({
      type: 'GET', 
      dataType: "json", 
      data: {law_id:id},
      url: "{{ URL::to('admin/postlawid/') }}", 
      success: function (data) { 
            $("#sublawmasterdata tbody").innerHtml(data.table_html);
      } 
});

在您的控制器中,需要进行如下更改

return json_encode(['table_html' => $subLaws]);
使用以下ajax代码动态追加行

$.ajax({
      type: 'GET',
      dataType: "json",
      data: {law_id:id},
      url: "{{ your route to controller function }}",
      success: function (data) {
          ("#sublawmasterdata tbody").innerHtml(data.table_html); }
      }
});

在您的控制器中,需要进行如下更改

return json_encode(['table_html' => $subLaws]);
使用以下ajax代码动态追加行

$.ajax({
      type: 'GET',
      dataType: "json",
      data: {law_id:id},
      url: "{{ your route to controller function }}",
      success: function (data) {
          ("#sublawmasterdata tbody").innerHtml(data.table_html); }
      }
});