JSON.parse 工作正常,它显示了我需要的值,但我想在收到错误后显示div。
var stock= $.parseJSON(stock); //This is Yii
一旦我选择了一个有剩余库存的产品(从我的下拉列表中(,它就会显示"字符串">(我使用 typeof in stock 来获取数据类型(。
console.log(typeof(stock)); // display "string"
但是一旦我选择了一个没有剩余库存的产品,它就不会显示值,而是在控制台上显示错误。
错误:
Uncaught SyntaxError: Unexpected end of JSON input
我试图提出一个条件,
//-------------------------------------
if(typeof(stock) != 'string'){
$('#stock-'+id+'-alert').show();
}
else{
$('#stock-'+id+'-alert').hide();
}
//-------------------------------------
if(stock == '' || stock == 'undefined' || stock == 0 )
{
$('#stock-'+id+'-alert').show();
}
else{
$('#stock-'+id+'-alert').hide();
如果产品有剩余库存,它会在控制台上显示一个值。
但是,如果产品没有库存,则会向控制台显示错误,并且不显示分区。
这是我在收到无效的 JSON 或错误后想要显示的 DIV。
<div class="alert alert-danger" id="stock-<?=$i?>-alert" role="alert" style=" width:50%; margin:auto; margin-bottom:10px; font-size: 16px;">This Product has no Stocks!</div>
把你的代码放在一个try/catch块中:
try {
var stock= $.parseJSON(stock);
}
catch(err) {
console.log(err);
//show div
}