【发布时间】:2014-09-08 20:53:31
【问题描述】:
正如标题所说,我正在尝试使用 ajax 请求在视图中动态加载内容。我知道如果您使用 html 元素,例如可以做到这一点("#div_place").html(<p>...)。例如,当我想将一些 php/blade 对象加载到 div 中时,问题就出现了。这是可能的还是有其他方法可以达到我想要的结果。
【问题讨论】:
标签: javascript php ajax laravel
正如标题所说,我正在尝试使用 ajax 请求在视图中动态加载内容。我知道如果您使用 html 元素,例如可以做到这一点("#div_place").html(<p>...)。例如,当我想将一些 php/blade 对象加载到 div 中时,问题就出现了。这是可能的还是有其他方法可以达到我想要的结果。
【问题讨论】:
标签: javascript php ajax laravel
这很简单。假设您使用的是 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);
}
);
【讨论】:
<div id="xhr"> 和<footer> 中有一个<header> 一些内容。您不想一遍又一遍地加载<header> 和<footer>,对吧?因此,在这种情况下,您可能希望采用不同的方法。
$.get(..) ajax 请求。
经过一番挖掘,我找到了 this ,它帮助我解决了这个问题。
您必须通过 jquery 使用.load("url/page/..."),然后在 routes.php 文件中设置一个路由,以显示一个包含需要加载的数据的视图,例如
Route::get('/url/page/...', function(){
return View::make('test');
});
这会返回需要动态加载的必要php代码,干杯。
【讨论】: