在Laravel的博客中预览帖子功能(如在Wordpress中)

时间:2015-11-02 12:42:00

标签: laravel laravel-5

我希望在我的Laravel博客应用程序中添加能够在将其保存到数据库(如Wordpress)之前在新窗口/选项卡中打开帖子的功能。哪种方法最好?

我一直在阅读一些关于它的帖子,现在我尝试过这样的事情:

当我点击预览'我在创建帖子视图中的按钮我对store方法进行了ajax调用,这将返回laravel的刀片呈现视图...

$('.preview-post').click(function () {
    var formData = $('#post-form').serializeArray();
    $.ajax({
        method: 'POST',
        url: '/admin/posts/store',
        dataType: 'json',
        data: formData
    }).done(function (response) {
        var w = window.open();
        w.document.write(response);
    });
});

这是我控制器中的方法:

public function store(Request $request)
{
    $title = $request->input('title');
    $post = new Post();
    $post->title = $title;
    if ($request->ajax()) {
        return response()->json(view('home.posts.ajax-post', compact('post'))->render());
    }
}

正如您所看到的,目前我只是包含了标题字段,而不是整个帖子,只是为了检查它是否有效。

最后,这是我在新窗口中返回并打开的视图:

@extends('layouts.home')

@section('content')
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div id="post-content">
                    {{$post->title}}
                </div>
            </div>
        </div>
    </div>
@endsection

这就是它。问题是:它似乎有效(我能够在一个新的选项卡中获取视图,其中我在表单字段中输入了预期的标题),但我想我做错了什么,因为我有例如,一些动画svg元素不能在新窗口中以正确的方式呈现。我一个月前也开始使用Laravel Framework,所以我不知道我是否遵循了正确的工作流程来做这样的事情。

0 个答案:

没有答案