【问题标题】:Appending Laravel Blade from JQuery从 JQuery 附加 Laravel Blade
【发布时间】:2016-09-02 13:19:22
【问题描述】:

我正在尝试从 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

【问题讨论】:

  • 你没有“让浏览器理解刀片”。您渲染刀片模板并返回渲染的 html。

标签: javascript php jquery laravel-5.2 laravel-blade


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    在你的刀片中你可以做这样的事情

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

    我不知道你是在使用 ajax 调用还是只是一个页面加载,所以不要忘记将你的脚本包装在 document ready 或 ajax 函数中

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 2015-02-14
      • 2016-12-15
      • 2018-03-12
      • 2019-05-19
      • 2017-08-13
      • 2021-11-13
      • 2017-02-16
      • 2019-11-11
      相关资源
      最近更新 更多