我有一个旧的 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 语法?
Blade 语法仅适用于扩展名为
.blade.php
的 PHP 文件。所以,你有两个选择。
将脚本制作为
.blade.php
文件并使用 @include
将其调用到刀片文件中。
您的刀片文件中有一个
<script></script>
标签。在那里定义变量并在 JS/jQuery 脚本中调用它们。下面给出了一个例子
<script>
var var1 = '{{ $variable1 }}';
var var2 = '{{ $variable1 }}';
</script>
如果脚本中未检测到变量,请删除
var
关键字并重试。