jquery - Laravel - 在 AJAX 响应中返回 2 个视图
问题描述
我有一个带有 2 个@include
指令的视图,这些指令是执行 AJAX 调用时更新数据的子视图。第@include
一个在 AJAX 响应中正确更新,但我需要在同一个调用中返回第二个@include
以更新显示的数据。
我正在按照onchange事件的方法更新部分视图,如下所示,我相信该方法也将返回第二个部分视图并加载如下:$("#dashboardindicators").html(data);
控制器
if($request->ajax()){
return view('pages.dashboard.dashboardindicators', compact('chart4_prop_null','chart4_progress','chart3_prop_null','chart3_progress',
'chart2_prop_null','chart2_progress','chart1_prop_null','chart1_progress',
'market_center_dropdown', 'mega_agent_dropdown', 'teams_dropdown'));
} else {
return view('pages.dashboard.dashboard', compact('chart4_prop_null','chart4_progress','chart3_prop_null','chart3_progress',
'chart2_prop_null','chart2_progress','chart1_prop_null','chart1_progress',
'market_center_dropdown', 'mega_agent_dropdown', 'teams_dropdown'));
}
JS
<script>
$(document).ready(function () {
$('.dropdown_get').on("change", function(){
KTApp.block("#dashboardindicators", {
overlayColor: "#000000",
type: "v2",
state: "success",
message: "Procesando..."
}),
$.ajax({
url: "/dashboard",
method: 'GET',
data: {
market_center_id: $("#kt_market_center_dropdown option:selected").val(),
mega_agent_id: $("#kt_mega_agent_dropdown option:selected").val(),
team_id: $("#kt_team_dropdown option:selected").val(),
},
success: function (data) {
$("#dashboardindicators").html(data);
setTimeout(function () {
KTApp.unblock("#kt_blockui_1_content")
});
}
});
});
});
</script>
解决方案
如果需要在 AJAX 响应中返回 2 个视图,可以使用以下response()->json()
方法:
$dashboardIndicators = view('pages.dashboard.dashboardindicators', compact(...)->render();
$dashboard = view('pages.dashboard.dashboard', compact(...)->render();
return response()->json(['dashboardIndicators' => $dashboardIndicators, 'dashboard' => $dashboard]);
然后,在您的success:
函数中,像这样访问:
$("#dashboardindicators").html(data.dashboardIndicators);
$("#dashboard").html(data.dashboard);
此外,请确保使用该->render()
函数将视图转换为 HTML。
推荐阅读
- matlab - 使用树莓派包改进 Matlab 中函数的运行时间
- android - 某些Android Map API中特定区域下方的图形
- jenkins - 无法连接/设置一台 Windows 机器作为 Jenkins 从机/代理节点
- php - WordPress 和高级自定义字段管理,仪表板中的自定义列
- sql - Rails:在添加最后一个值时进行分组和求和(斐波那契)
- laravel - 用户的未定义属性 $id。但是用户有ID
- java - 从文本框中获取 Apache POI XSSFRichTextString
- python - 1064, "您的 SQL 语法有错误;在第 1 行的 '%s' 附近使用正确的语法")
- reactive-programming - 如何更改 Reactor 中的执行线程
- excel - Excel 公式如果有或返回错误值