jquery - Laravel:使用 AJAX 请求渲染部分 View

标签 jquery ajax laravel laravel-4

我正在尝试制作一个单页 CRUD 应用程序,并且我正在使用 AJAX 和 jQuery。在本例中,我提交表单并异步在数据库中存储一个新国家/地区,然后使用新数据渲染部分 View 。

这是我的脚本和从数据库检索国家/地区并返回部分 View 的方法。

$('#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 在页面中实际渲染 View 的想法,感觉这应该是 Laravel 的工作。

如何使用 Laravel 渲染部分 View 并使用 AJAX,而不必将该工作委托(delegate)给 jQuery(append()empty() )?

最佳答案

将您的 View 传递给 View 助手,将其渲染到变量中并将该变量作为对 AjAx 的响应返回。

$view=view('your-view-blade');
$view=$view->render();
$responseData->responseSuccess($view);

在 AjAx 的回调中,您可以使用渲染的 HTML,您可以随意将该 HTML 附加到任何元素。

关于jquery - Laravel:使用 AJAX 请求渲染部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24984073/

相关文章:

jquery - 将对象附加到序列化表单数据

php - 更改 Windows 上 Composer 使用的 PHP 版本

php - Laravel 表单 Action 参数

javascript - 如何在 iframe 内单击没有 id 或名称的按钮?

javascript - 编辑表格行 JavaScript

javascript - 为什么我的表单在页面加载时自动提交?

javascript - 尝试使用 jQuery 从对象数组创建简单的表

javascript - (由于 Chrome 53 问题)Yahoo weather api 得到了一个不安全的证书,导致 jquery ajax 请求失败

php - 拉维尔 "undefined method Illuminate\Database\Query\Builder::attach()"

javascript - 如何从 URL 获取 JSON