Php 刷新内容页而不刷新laravel中的母版页
我有一个管理布局Php 刷新内容页而不刷新laravel中的母版页,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我有一个管理布局 我有一个包含以下内容的主布局: 顶部导航 左侧导航 每个页面都是一个视图,我扩展了主布局视图,只更新内容部分 我的目标是只刷新内容页,而不刷新母版页 像这样的东西有没有laravel套餐 简短回答:使用AJAX。如果JavaScript框架这么简单,就没有必要学习它(除非你真的想学习)。下面的示例使用jQuery并假设您正在单击导航中的用户链接(那里的所有链接都应该有一个nav项类,以便可以通过该选择器轻松识别它们),并且该链接具有属性href=“/admin/Use
我有一个包含以下内容的主布局:
- 顶部导航
- 左侧导航
像这样的东西有没有laravel套餐 简短回答:使用AJAX。如果JavaScript框架这么简单,就没有必要学习它(除非你真的想学习)。下面的示例使用jQuery并假设您正在单击导航中的用户链接(那里的所有链接都应该有一个
nav项
类,以便可以通过该选择器轻松识别它们),并且该链接具有属性href=“/admin/Users”
。单击时,它将使用类content
加载元素中的内容:
$('.item-nav').click(function (event) {
// Avoid the link click from loading a new page
event.preventDefault();
// Load the content from the link's href attribute
$('.content').load($(this).attr('href'));
});
如果路由admin/users
将返回包含其内容的用户表:
get('admin/users', function () {
return view('users')->with('users', Users::all());
});
当然,上面的Laravel route示例经过简化,展示了导航中的每个项目都应该链接到需要动态显示的内容的想法。您可以使用renderSections()
在主控制器操作中(例如AdminUsersController@getIndex)您可以根据请求渲染视图的特定部分。这样,如果对同一页面执行ajax请求,则只能返回所需的部分
if($request->ajax()) {
return view('admin.users',$users)->renderSections()['content'];
}
return view('admin.users',$users);
简单使用ajax)或者我应该解释更多吗?您总是提供答案。我真的很感激你的帮助。