如何在 jQuery 或 JavaScript 中编写 Laravel Blade 语法?

问题描述 投票:0回答:1

我有一个旧的 Laravel 项目(版本 8)。其中,我有 Blade 模板,其代码如下。

<div id='product-container'>
  @if(home_base_price($product) != home_discounted_base_price($product))
    <del class="fw-600 opacity-50 mr-1">
      {{ home_base_price($product) }}
    </del>
  @endif
  {{ show_percentage($product_price) }} 
  {{ $product->product_image }}
  {{ $product->getTranslation('name') }}
  // These syntaxes are written along with other HTML/CSS code.
</div>
<button id="load_more_button" class="btn btn-primary">Show more</button>

我正在使用 jQuery 脚本从 JSON 格式的 AJAX 请求获取产品数据,并尝试在单击“显示更多”按钮(单击分页时)时将 HTML 内容附加为新产品。

<script>
$(document).ready(function() {
    var start = 12; 
    $('#load_more_button').click(function() {
        $.ajax({
            url: "https://example.com/load-more-products",
            method: "GET",
            data: {
                start: start
            },
            dataType: "json",
            beforeSend: function() {
                $('#load_more_button').html('Loading...');
                $('#load_more_button').attr('disabled', true);
            },
            success: function(data) {
                if (data.data.length > 0) {
                    var html = '';
                    for (var i = 0; i < data.data.length; i++) {
                        var product = data.data[i];
                        html += '<div id="product-container">' +
                        <!-- I want to write the Blade syntaxes that have been used in the Blade template, here -->            
                        '</div>';
                    }
                    // rest code

</script>

如何在 jQuery 脚本中编写 Blade 语法?

php jquery laravel laravel-blade laravel-8
1个回答
0
投票

Blade 语法仅适用于扩展名为

.blade.php
的 PHP 文件。所以,你有两个选择。

  1. 将脚本制作为

    .blade.php
    文件并使用
    @include
    将其调用到刀片文件中。

  2. 您的刀片文件中有一个

    <script></script>
    标签。在那里定义变量并在 JS/jQuery 脚本中调用它们。下面给出了一个例子

<script>
  var var1 = '{{ $variable1 }}';
  var var2 = '{{ $variable1 }}';
</script>

如果脚本中未检测到变量,请删除

var
关键字并重试。

© www.soinside.com 2019 - 2024. All rights reserved.