我正在尝试制作一个单页CRUD应用程序,并且正在使用AJAX和jQuery。在这种情况下,我提交表单并将新的国家/地区异步存储在数据库中,然后使用新数据呈现局部视图。
这是我的脚本和从数据库检索国家并返回部分视图的方法。
$('#create-country-form').submit(function(event) {
$.post('/country/store', $('#create-country-form').serialize(), function() {
$.get('/country/all', function(data) {
$('#countries-table').empty();
$('#countries-table').append(data['html']);
});
});
event.preventDefault();
});
class CountryController extends BaseController {
public function all() {
$countries = Country::All();
$html = View::make('countries.list', compact('countries'))->render();
return Response::json(['html' => $html]);
}
// ...
}
但是,我不喜欢使用jQuery在页面中实际呈现视图的想法,感觉这应该是Laravel的工作。
如何使用Laravel和AJAX一起呈现局部视图,而不必将工作委托给jQuery(append()
和empty()
)?
你很困惑。
Laravel已经在做局部渲染。您正在调用View::make()
并将渲染视图返回$html
。
然后,您将呈现的视图传递给jQuery,它只是显示提供给它的数据-它本身不执行任何计算。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句