当模态窗口打开时从控制器加载数据

时间:2018-01-03 15:09:19

标签: laravel-5 bootstrap-modal

我正在使用laravel 5.4

我在页面中打开一个模态窗口。但我不想在第一次开始时加载所有数据 我只想在模态窗口打开时加载一些数据 然后使用这个返回的数据,如果刀片内的条件可能那么?

1 个答案:

答案 0 :(得分:0)

你可以使用JavaScript来做到这一点。主要思想是当系统触发模态时,它将调用一个JavaScript函数,该函数将调用GET方法接收渲染的Blade部分并将其附加到模态内的div中。

主要的IDEA是这样的:

查看文件:

<a data-toggle="modal" data-target="#modal-id" onclick="getFunction();"> 
    Open Modal
</a>

<div class="modal" id="modal-id">
    <div id="modal-content">
    </div>
</div>

使用Javascript:

function getFunction() {
    $('#modal-content').empty();
    $.get( "/get/content", function( data ) {
        $('#modal-content').append(data);
    });
}

路线:

Route::get('/get/content', 'ContentController@getContent');

控制器:

public function getContent(Request $request)
{
    return view('contents.partial')->render();
}

然后你将创建一个部分新的Blade文件。这将成为模态的内容。在此示例中,文件位于views / contents / partial:

<h2>Content header</h2>
<p>Content text</p>

由于您没有发布任何代码,我会回答主要想法。您只需要将您的需求添加到此代码中。