我正在尝试制作一个单页CRUD应用程序,并使用带有jQuery的AJAX。在这种情况下,我异步提交表单并将新国家存储在我的数据库中,然后呈现具有新数据的部分视图。
这是我的脚本和检索数据库中国家并返回部分视图的方法。
$('#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()
)来完成这项工作?