我要做的是将@yield('somecontent.content')
动态加载到母版上。仅出于提供信息的目的,我有以下内容:
控制器:
public function someFunction()
{
//DB logic here
return view('/exampleView')
->with($dataset1)
->with($dataset2)
->with($dataset3)
->with($dataset4);
}
路线:
Route::get('someRoute', ['as' => 'theRoute', 'uses' => 'someController@someFunction']);
Ajax / jquery功能:
$(document).ready(function(){
$('.ajaxClick').click(function(event){
//event.preventDefault();
$.ajax(
type: 'GET',
url: 'theRoute',
datatype: 'json',
success: function(data){
console.log('AJAX loaded something');
},
error: function(){
console.log('AJAX load did not work');
}
});
});
});
查看逻辑:
<a class="ajaxClick" data-name="{{
route('theRoute') }}" href="#">Testing Ajax</a>
在一个标记中,我原来具有该路由,该路由可以工作,但会刷新页面,并且不刷新就不会加载。
它的运行方式,请单击导航栏中的链接,然后在设置字段中动态加载Laravel路线,该字段使用@yield('somecontent')
分配给视图加载。
另一个问题是,您将如何在Laravel中实现此目标?如果需要其他任何评论。
谢谢!
PS 这款example仪表板几乎是我想要做的,如何在不刷新页面的情况下立即加载内容。
答案 0 :(得分:0)
如果您仍然想使用jQuery,则可以使用如下代码:
$(document).ready(function(){
$('.ajaxClick').click(function(event){
//event.preventDefault();
$.ajax({
type: 'GET',
url: 'theRoute',
datatype: 'json',
success: function(data){
$('#main-wrapper').html(data);
},
error: function(){
console.log('AJAX load did not work');
}
});
});
});
我建议您尝试研究javascript框架。您发送的链接使用的是Angular JS,并且内置了所需的功能,称为SPA或单页应用程序
JS框架的不完整列表: