2

如何在我的 PHP 后端和 JavaScript / AJAX 请求之间共享模板信息?

很久以前,我刚刚发送了我的 AJAX 请求,并让服务器生成了 HTML 并照此发送。今天我有我的 AJAX 数据作为 JSON,但我不知道如何在服务器端使用相同的模板(例如用户列表)和在客户端(用于刷新、过滤等)而不创建冗余布局代码。

是否有用于 PHP/LaravelJavaScript 的带有解析器的模板语言?

Laravel 模板引擎 Blade 显然不能在 JavaScript 中使用。我通过 Google 找到的唯一共享模板语言是 Mustache,但是 Laravel 的解析器已经过时了。

那里还有其他东西吗?您使用哪种方法?

4

3 回答 3

1

您的问题归结为:

是否有用于 PHP/Laravel 和 JavaScript 的带有解析器的模板语言?


Laravel 和小胡子 | 服务器端:

  • conarwelsh/mustache-l4是 Laravel 4 的Mustache.php包装器。与您所说的相反,它们似乎跟得上很好(我想您的意思是michaelenger/mustacheview实际上是 Laravel 3 捆绑包)。如果我错了,我会纠正。

  • Laravel's Blade 根本不排除 Mustache。您只需要在不使用扩展的情况下创建一个 Mustache部分blade.php,并将其包含在常规 Blade 模板中使用@include(更多详细信息here

服务小胡子模板:

  • 您甚至可以使用响应宏来创建您需要的任何自定义Response::mustache(...)响应Response::make(...)(请参阅此处了解更多详细信息)。

一些感兴趣的样本:


我的简短回答(更新):

不要看其他地方:Laravel + Mustache + Javascript,如果服务器|客户端渲染的混合是您要求的一部分。

弄脏你的手!:)

于 2014-07-03T06:18:58.080 回答
0

我对 Laravel 和 Angularjs 有同样的问题,我所做的是我创建了一个返回模板的路由http://domain.com/templates/name

这条路线将View::make('templates'.$name);,这是一个 AngularJs 模板,将填充 JSON API 返回的数据。请记住使用我用于{{Laravel 和<%Angular 的非冲突标签。

于 2014-07-02T19:11:24.740 回答
-1

渲染您的模板服务器端!我不确定在什么时候有人决定您需要将 JSON 发送到前端,但这不是他们在 Rails 中这样做的方式。在 Rails 中,它们实际上呈现模板服务器端,然后将其发送回前端,然后您的 JS 将其附加到页面(或者,实际上将 JS + 标记发送回以附加)。这可以节省大量时间和头痛,相信我。

于 2016-10-11T20:24:11.953 回答