在 Laravel 中删除渲染视图
Posted
技术标签:
【中文标题】在 Laravel 中删除渲染视图【英文标题】:Remove render view in Laravel 【发布时间】:2022-01-09 14:23:12 【问题描述】:我正在使用 Laravel 并使用 Rander 视图在 Bootstrap 模式中查看一些数据。
我在点击时打开模式并在其中获取渲染数据。
这是我在控制器中随机处理数据的方式:
$view = \View::make('list.modal-body', ['list'=>$list]);
$message = $view->render();
return response()->json([
ajax_request_return_data' => $message
]);
我收到了$message
,这是对我的 Ajax 请求的 html 响应。
然后我在模态体上渲染它。
这是我随机处理的 HTML 数据:
<div class="table-responsive">
<table>
<thead>
<tr>
</tr>
</thead>
<tbody>
@foreach($list as $single_detail)
<tr>
<td> $single_detail->detail_name </td>
</tr>
@endforeach
</tbody>
</table>
</div>
这是我正在使用的 AJAX 函数:
$.ajax(
type : 'POST',
url : URL-OF-AJAX',
data : 'related_data' : ralate_data_detail ,
success: function(data)
$('.CLASS_OF_Modal_Body').append(data.ajax_request_return_data)
$('#modal_id').modal('toggle');
,
error : function(XMLHttpRequest, textStatus, errorThrown)
);
问题
问题是当我渲染数据时,旧的渲染数据会在表格中显示新数据,并且每次打开该模式时它都会不断添加
我尝试过哪些可能的解决方案?
我尝试在添加新数据之前传递空数据,但仍会在模态表中显示旧数据。
我也尝试过删除视图缓存,但旧数据仍然出现在包含新数据的表中。
请帮我解决这个问题,我如何每次都在表中随机抽取 FRESH 数据并删除旧的渲染数据。
【问题讨论】:
尝试使用 html 而不是 append $('.CLASS_OF_Modal_Body').html(data.ajax_request_return_data) @JohnLobo 嘿先生.. 你解决它.. 我知道问题不在我的控制器或 ajax 请求中.. 它在视图附加中。谢谢楼主 【参考方案1】:而不是使用追加使用html方法。
替换
$('.CLASS_OF_Modal_Body').append(data.ajax_request_return_data)
到
$('.CLASS_OF_Modal_Body').html(data.ajax_request_return_data)
参考:
https://api.jquery.com/html/
https://api.jquery.com/append/
【讨论】:
以上是关于在 Laravel 中删除渲染视图的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 Jetstream Inertia 没有渲染视图组件
如何使用 if 路由条件在 2 个单独的视图函数中使用相同的渲染? (Laravel/Livewire)