Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用AJAX和Laravel GET请求不起作用_Jquery_Ajax_Laravel_Laravel 5 - Fatal编程技术网

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事实上,使用不正确的
数据类型
,这无关紧要。同意。到目前为止,这不重要。