JSON:如果出错则显示div

时间:2018-01-26 09:22:37

标签: javascript jquery json

JSON.parse工作正常,它显示了我需要的值,但是我想在出现错误时显示div。

 var stock= $.parseJSON(stock); //This is Yii

一旦我选择了剩余库存的产品(来自我的下拉菜单),它会显示“string”(我在库存中使用 typeof 来获取数据类型)。

 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();

如果产品剩余库存,它会在控制台上显示一个值。

但如果产品没有库存,则会向控制台显示错误,并且不显示分部。

这是 DIV ,一旦我收到无效的JSON或错误,我想显示。

<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>

1 个答案:

答案 0 :(得分:0)

将您的代码放在try / catch块中:

try {
  var stock= $.parseJSON(stock);
}
catch(err) {
  console.log(err);
 //show div
}