繁体   English   中英

在Laravel中以Bootstrap模式加载视图

[英]Loading a view in bootstrap modal in 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]);
    }
}

我的视图(我要加载的视图查看位置: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与来自数据库的播放器数据一起加载。

请任何帮助表示赞赏。

我在您提供的代码示例中发现了两个错误,第一个是您说的是您的视图位置是

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();

其他一切看起来都不错。

如果您仍然遇到任何问题,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM