从 JQuery 追加 Laravel Blade

Appending Laravel Blade from JQuery

我正在尝试附加 Laravel 中的 Blade 语法,但无法让浏览器理解 Blade。当我从我的 js 文件附加 Blade 语法时,它将代码输出到页面上。

// this is my code..
$("#"+Current_box).append("@if ($errors->has('testing'))<span class='help-block'><strong>{{ $errors->first('testing') }}</strong></span>@endif")

它会将此输出到页面上:

@if ($errors->has('testing'))
{{ $errors->first('testing') }}
@endif

Laravel Blade 正在由 PHP 在服务器端处理。不像 JS 那样在你的浏览器中。 因此,如果您这样做,您将在浏览器中获得正常文本。 因此,您的服务器使用 Blade 处理 PHP/Laravel 代码,并使用 HTML、CSS 和 JS 为您的浏览器提供静态代码。

如果对您有帮助,您可以尝试将您的 blade 代码放入适当的 *.blade.php 文件中。

您可以在控制器中生成视图。并将其附加到您的 jQuery

//blade
$html = view('someView')->render();
retrun json_encode($html)

在你的blade中你可以做这样的事情

<script type="text/javascript">
@if( isset($html) )
 $("#"+Current_box).append({{$html}})
@endif

我不知道您是在使用 ajax 调用还是只是页面加载所以不要忘记将脚本包装在文档就绪或 ajax 函数中