Jquery 使用AJAX和Laravel GET请求不起作用
我想做的是动态地将Jquery 使用AJAX和Laravel GET请求不起作用,jquery,ajax,laravel,laravel-5,Jquery,Ajax,Laravel,Laravel 5,我想做的是动态地将@yield('somecontent.content')加载到主布局上。为了提供信息,我有以下几点: 控制器: public function someFunction() { //DB logic here return view('/exampleView') ->with($dataset1) ->with($dataset2) ->with($dataset3) ->with($dataset4)
@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']);
$(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>
Ajax/jquery函数:
Route::get('someRoute', ['as' => 'theRoute', 'uses' => 'someController@someFunction']);
$(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>
查看逻辑:
Route::get('someRoute', ['as' => 'theRoute', 'uses' => 'someController@someFunction']);
$(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>
在a标记中,我最初有一个路由,它可以工作,但会刷新页面,并且在不刷新的情况下不会加载
它是如何流动的,单击导航栏中的链接,并在一个设置字段中动态加载Laravel路由,该字段分配给视图,以便使用@yield('somecontent')
加载
另外一个问题是,您将如何在Laravel中实现这一点?如果需要任何其他意见
谢谢
p.S
这就是我想做的,即如何在不刷新页面的情况下直接加载内容。如果您仍然想使用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框架未完成列表:
- 棱角的
- 反应
- Vue
数据类型
,而不是数据类型
(大小写很重要)。此外,错误回调还传递了您可以使用的信息。例如~error:(jqXhr,status,error)=>{console.error(status,error)}
另一个问题,您的响应必须是JSON。否则它会失败。@itachi事实上,使用不正确的数据类型
,这无关紧要。同意。到目前为止,这不重要。