过去一个月我一直在研究这个代码库。就在昨天,我开始在一些文件上遇到这个问题。该代码应该根据所选选项更改 div。这是显示错误的代码片段(我已向显示错误的特定行添加了注释):
<script>
function del(id) {
//alert(id)
$('#service_sales').load({
!!json_encode(url('/invoice/remove')) !!
} + '/' + id); // Shows error
}
$(document).ready(function() {
$('#complete').on('click', '#complete', function() {
$('#submit').click();
});
$('#service_id').on('change', function() {
$('#complete').hide();
$('#comment').hide();
$('#tender').hide();
var service_id = $('#service_id').val();
//ajax
$('#service_sales').load({
!!json_encode(url('/invoice/sales')) !!
} + '/' + service_id); // Shows error
});
$('#patient_id').on('change', function() {
var patient_id = $('#patient_id').val();
$('#payment').show();
$('#calculateBtn').show();
});
$('#calculate').click(function() {
$('#tender').hide();
$('#complete').hide();
var cash = $('#cash').val();
var discount = $('#discount').val();
var sub_total = $('#sub_total').val();
var tax = $('#tax_percent').val();
if (sub_total.length) {
if (cash > 0) {
var total = sub_total - discount;
var tax_amount = total * tax / 100;
var total_amount = total + tax_amount;
var tender_amount = cash - total_amount.toFixed();;
if (tender_amount < 0) {
$('#msg').show();
$("#msg").html("<div style='color:red;margin-bottom: 20px;'><span class='btn-sm alert-danger'>Insufficient Balance...</span></div>");
} else {
$('#msg').hide();
$('#complete').show();
$('#comment').show();
$('#tender').html('<strong>Sub Total: Tk ' + sub_total + '</strong><br><strong>Discount: Tk ' + discount + '</strong><br><b>-----------------------------<b><br><strong>Total: Tk ' + total_amount.toFixed() + '</strong><br><strong>Cash: Tk ' + cash + '</strong><br><strong>Return: Tk ' + tender_amount.toFixed() + '</strong>');
$('#tender').show();
}
} else {
$('#msg').show();
$("#msg").html("<div style='color:red;margin-bottom: 20px;'><span class='btn-sm alert-danger'>Enter Cash Amount...</span></div>");
}
} else {
$('#msg').show();
$("#msg").html("<div style='color:red;margin-bottom: 20px;'><span class='btn-sm alert-danger'>Please Select Doctor First...</span></div>");
}
});
}); // Shows error
function getDoctor() {
var doctorName = $("#doctorName option:selected").text();
$("#selectedDoctorName").val(doctorName);
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
我遇到了不同类型的错误,例如:
如果有帮助的话,我还可以添加 VS Code 屏幕截图。
还有其他文件也带有
json_encode
行,它们也显示相同的错误。起初,我以为这只是一个警告。但是,此错误也会影响项目输出,这意味着预期的代码部分无法正常工作。
这是一个 PHP Laravel 项目。我记得做的唯一重要的事情是将 Laravel 从 5.4.* 更新到 5.5.*,在此之前,它运行得非常完美。我还是个新手,所以不知道如何处理这个错误。或者是否有另一种方法可以完成这些代码行正在做的事情?
非常感谢。如果您想查看,这是完整文件:https://codeshare.io/3y1Vo6
问题就在这里:
$('#service_sales').load({
!!json_encode(url('/invoice/sales')) !!
} + '/' + service_id); // Shows error
您遇到的问题不止一个。
解决办法是
$('#service_sales').load("{{ url('/invoice/sales') }}" + '/' + service_id);
通过使用
"{{ url('/invoice/sales') }}"
,可以打印实际的 URL(PHP 代码的结果)。我将其放在双引号内,以便 JavaScript 将其视为字符串。这种方法有助于避免“无效语法”问题,否则 JavaScript 会将其解释为代码。