我想在弹出窗口时以模式加载视图。 代码如下。
我的控制器
public function view_update_box(Request $request)
{
if($request->ajax())
{
$player = player::findOrFail($request->id);
return view('admin-dashboard.includes.modals.playerForm.php', ['player', $player]);
}
}
我的视图(我要加载的视图) 查看位置:admin / includes / modals / playerForm.blade.php
<form class="form-horizontal">
<fieldset>
<!-- Text input-->
<div class="col-md-6 form-group">
<label class="control-label">Player Name:</label>
<input type="text" placeholder="Player Name" value="{{$player->player_name}}" class="form-control">
</div>
<!-- Text input-->
<div class="col-md-6 form-group">
<label class="control-label">Email:</label>
<input type="email" placeholder="Email" value="{{$player->player_email}}" class="form-control">
</div>
<!-- Text input-->
播放器视图:这是触发并显示模式的地方
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header modal-header-primary">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3><i class="fa fa-user m-r-5"></i> Update Player Profile</h3>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12" id="update_box">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger pull-left" data-dismiss="modal">Close</button>
</div>
</div>
AJAX代码:这是触发模式的Ajax代码,并且还假定以上述模式呈现响应
$('body').delegate('#updatePlayer', 'click', function(){
let id = $(this).data('id');
var token = $(this).data("token");
$.ajax({
url:'/admin/players/update',
type:'get',
data:{'id':id, '_token': token},
success: function(data) {
console.log(data)
$('#update_box').html(data);
}
});
});
我想要的
我希望程序用数据库中的播放器数据加载 admin / includes / modals / playerForm.blade.php 。
请提供任何帮助。
答案 0 :(得分:0)
我在您提供的代码示例中发现了两个错误 第一个是您说的是您的查看位置
admin/includes/modals/playerForm.blade.php
但是在调用视图时,您正在使用
'admin-dashboard.includes.modals.playerForm.php'
根据您提供的目录结构,这应该像
'admin.includes.modals.playerForm'
第二个是您需要发送渲染的视图作为响应,为此您可以在view()方法上使用laravels render()方法。
下面几行代码合计
$player = player::findOrFail($request->id);
return view('admin-dashboard.includes.modals.playerForm.php', ['player', $player]);
应该像
$player = player::findOrFail($request->id);
return view('admin.includes.modals.playerForm', compact('player'))->render();
其他一切看起来都很好。
如果您仍然遇到任何问题,请告诉我。