在 Javascript 中解析数据时显示非对象值的空结果
2021-10-23
86
我将 Laravel 与 Sweetalert 结合使用,并尝试显示一个自定义弹出消息,该消息显示 Laravel 变量的值:
$(document).on('click', '#custombtn', function(e) {
e.preventDefault();
let form = $(this).parents('form');
swal(
{
title: "Alert!",
text: "Youre wallet balance is: {!! digits2persian(json_decode($user_wallet->balance)) !!}",
type: "warning",
allowEscapeKey: false,
allowOutsideClick: false,
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes",
cancelButtonText: "No",
showLoaderOnConfirm: true,
closeOnConfirm: false
}).then((isConfirm) => {
if (isConfirm.value === true) {
window.location.href = {!! json_encode(route('courseRegistrationWithWallet', ['course'=>$item->cor_id,'wallet'=>$user_wallet->id ?? ''])) !!}
}
return false;
});
});
但是现在的问题是,当
$user_wallet->balance
返回
null
时,将发生此错误:
尝试获取非对象的属性“balance”
因此,如果未设置变量,我尝试这样做以显示 空 结果:
{!! digits2persian(json_decode($user_wallet->balance)) ?? '' !!}
但是没有解决这个问题,错误仍然出现!
那么如何解决这个问题呢?
2个回答
仔细阅读错误消息:
Trying to get property 'balance' of non-object
不是 余额 为空,而是 包含 余额的内容。因此,您需要处理 $user_wallet 为空的情况,例如:
isset($user_wallet) ? digits2persian(json_decode($user_wallet->balance)) : 'No wallet'
IMSoP
2021-10-23
尝试这个
if($user_wallet->balance > 0){
或者这个
$user_wallet->balance ?? "0"
sorax
2021-10-23