Javascript 如何在laravel中通过ajax/jquery将blade或php内容加载到视图中?

Javascript 如何在laravel中通过ajax/jquery将blade或php内容加载到视图中?,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,正如标题所说,我正在尝试使用ajax请求在视图中动态加载内容。我知道如果您使用html元素,例如(“#div_place”).html(…),就可以做到这一点。例如,问题在于我想将一些php/blade对象加载到div中。这是可能的还是有一种不同的方法来实现我想要的结果。在进一步挖掘之后,我发现了一些帮助我解决问题的方法 您必须通过jquery使用.load(“url/page/…”),然后在routes.php文件中设置一个路由,该文件显示需要加载的数据的视图,例如 Route::get('/

正如标题所说,我正在尝试使用ajax请求在视图中动态加载内容。我知道如果您使用
html
元素,例如
(“#div_place”).html(…)
,就可以做到这一点。例如,问题在于我想将一些php/blade对象加载到div中。这是可能的还是有一种不同的方法来实现我想要的结果。

在进一步挖掘之后,我发现了一些帮助我解决问题的方法

您必须通过jquery使用
.load(“url/page/…”)
,然后在routes.php文件中设置一个路由,该文件显示需要加载的数据的视图,例如

Route::get('/url/page/...', function(){
    return View::make('test');
});

这将返回需要动态加载的必要php代码,谢谢。

这非常简单。假设您正在使用jQuery

  • 创建一个将响应AJAX调用并返回HTML片段的路由

    Route::get('test', function(){
    
        // this returns the contents of the rendered template to the client as a string
        return View::make("mytemplate")
            ->with("value", "something")
            ->render();
    
    });
    
  • 在javascript中:

    $.get(
        "test",
        function (data) {
            $("#my-content-div").html(data);
        }
    );
    

  • 谢谢,只是做了一些进一步的挖掘,并意识到类似的事情是我必须做的。我知道这是一个老帖子,但这不是我要做的。假设您在
    中有
    一些内容。您不想反复加载
    ,对吗?因此,在这种情况下,您可能希望采用不同的方法。@DerkJanSpeelman您可能是对的。在这个问题中,OP询问如何动态加载刀片模板-刀片模板编译为HTML(通常),因此这似乎是对这个问题最直接的回答。就我个人而言,我只是来回传递数据,而不是HTML,但这依赖于Javascript来呈现数据,这(IMHO)超出了原始问题的范围。顺便说一句,我认为您希望在Javascript中执行
    $。获取(…)
    ajax请求。@Adam谢谢!我不敢相信三年来没有人注意到这个错误