php - 在 laravel 的引导模式中加载视图
问题描述
我想在弹出时以模式加载视图。代码如下。
我的控制器
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]);
}
}
MY VIEW(我要加载的) 查看位置: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-->
PLAYER VIEW:这是触发并显示模态的地方
<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 。
请任何帮助表示赞赏。
解决方案
我在您提供的代码示例中发现了两个错误第一个是您说您的视图位置是
admin/includes/modals/playerForm.blade.php
但是当你调用你正在使用的视图时
'admin-dashboard.includes.modals.playerForm.php'
根据您提供的目录结构,这应该是
'admin.includes.modals.playerForm'
第二个是您需要发送渲染视图作为响应,您可以在 view() 方法上使用 laravel 的 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();
其他一切看起来都不错。
如果您仍然遇到任何问题,请告诉我。
推荐阅读
- amazon-web-services - 我可以只允许单个 API 密钥访问单个 AWS API Gateway 终端节点吗?
- excel - Excel需要更多时间打开> 10k条记录:apache poi
- java - 为什么draw()方法中的repaint()不起作用(不调用paint())?
- android - 如果代码中存在 java.util.Calendar.getInstance(),则应用程序在即时运行后崩溃
- python - 无法在 R 中运行 python 脚本(sys$stdout$flush() 中的错误:尝试应用非函数)
- kernel - systemd[1] 无法在 /sys/fs/cgroup 挂载 tmpfs 没有这样的文件或目录
- javascript - 在另一个类中调用一个类方法
- jsonschema - 具有随机数键的对象的 JSON 模式
- c# - 从 .NET 连接 SQL Server 和 Oracle
- java - 从文件中提取具有最新版本的应用程序