如何在 Laravel 中通过 Ajax 重绘 html 内容 - nette snippets

How to redraw html content via Ajax in Laravel - nette snippets

我正在为 Laravel 寻找一些不显眼的 ajax 解决方案。

例如 Nette Framework 已经实施了自己的 ajax 工作流程来执行此操作。

但是laravel没有提供这样的东西……

编辑: 当然,我知道我可以用 jQuery 和 JsonResponse 做到这一点,但问题是是否有 sofiscitated 解决方案

您正在寻找 https://github.com/whipsterCZ/laravel-ajax

它完全满足您的需求,甚至更多!

我假设你想发送一些 ajax 请求并且你想在响应后重绘一些更新的内容

很简单 Blade模板

@section('dynamic')
   <div id='greeting'>Hello {{name}}</div>
@endSection()    
<a href="/changeName?name=Láďo" class="ajax"></a>

Laravel动作

public function changeName(Request $request, Ajax $ajax) {
    return $ajax
        ->redrawSection('dynamic')
        ->view('welcome',  ['name'=>$request->get('name')] )
}

你不必呈现整个页面,你可以只用 ID 替换或附加一些 html.. 它几乎可以做所有事情:)

public function redrawPartial(Request $request, Ajax $ajax) {
    return $ajax
        ->redrawView('greeting')
    //  ->appendView('greeting') 
        ->view('partials._greeting',  ['name'=>$request->get('name')] )
}