Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何解决ajax中数据为空时的json.parse问题_Jquery_Json_Ajax - Fatal编程技术网

Jquery 如何解决ajax中数据为空时的json.parse问题

Jquery 如何解决ajax中数据为空时的json.parse问题,jquery,json,ajax,Jquery,Json,Ajax,我遵循这段代码在表中显示数据,但当数据为空时,这段代码会出错,“error JSON.parse:第1行出现意外字符”。请帮助我如何解决这个问题,我想在json数据为空时发出警报 $('#pilih').click(function(){ const unit = document.getElementById('unit').value; const nosam = document.getElementById('nosam').value; $.ajax({

我遵循这段代码在表中显示数据,但当数据为空时,这段代码会出错,“error JSON.parse:第1行出现意外字符”。请帮助我如何解决这个问题,我想在json数据为空时发出警报

$('#pilih').click(function(){
        const unit = document.getElementById('unit').value;
        const nosam = document.getElementById('nosam').value;
$.ajax({
            url: 'get/penjualan_data.php',
            data: {'unit': unit, 'nosam': nosam},
            cache: false,
        }).then(function(data){
            const json = data;
            obj = JSON.parse(json);
            
    var $table = $('#tampilkan tbody');
    for (var i = 0; i < obj.length; i++) {
    const a = i+1;
            var $row = 
                $("<tr>" +
        "<td>"+ a +"</td>" +
        "<td><input type='checkbox'></td>" +
                  "<td class='id'>"+ obj[i].nosam +"/"+ obj[i].gol +"</td>" +
        "<td>"+ obj[i].unit +"</td>" +
                  "<td class='nama'>"+ obj[i].nama +"</td>" +
        "<td>"+ obj[i].alamat +"</td>" +
                  "<td>"+ blnIndo(parseInt(obj[i].bulan)) +" "+ obj[i].tahun +"</td>" +
        "<td>"+  +"</td>" +
                  "<td style='text-align: right;' class='rp'>"+ titikAngka(obj[i].rupiah) +"</td>" +
                  "</tr>");
      
             $row.data(obj.nosam);
             $row.data(obj.nama);
             $row.data(obj.rupiah);
             $table.append($row);
   });
  });
$('#pilih')。单击(函数(){
常量单位=document.getElementById('unit')。值;
const nosam=document.getElementById('nosam').value;
$.ajax({
url:'get/penjualan_data.php',
数据:{'unit':单位,'nosam':nosam},
cache:false,
}).then(功能(数据){
const json=数据;
obj=JSON.parse(JSON);
变量$table=$('tampilkan tbody');
对于(变量i=0;i
如果没有数据显示,请确保您的php脚本
penjualan_data.php
输出
{}
。错误在于您在响应中没有收到正确的JSON对象

所以即使
$data=“”;

如果请求未返回任何数据,仍然使用echo json_encode($data);

显示警报、空表或替代布局

 if(!data) { alert('sorry, no data was retrieved'); return; }

作为第一次尝试,您可以简单地检查json数据是否为空

if (json)
  obj = JSON.parse(json);
如果您的代码仍然可以使用无效的json获取输入,请使用try-catch

try {
 obj = JSON.parse(json);
}
catch(e) {
   console.log(e)
}

这回答了你的问题吗?当你无法解析它时,
json
的值是多少?这就是问题所在,所以..我如何解决这个问题,我想在penjualan_数据中的数据为空时显示警报搜索中未找到数据刚刚更新了我的响应-不确定这是否是你所问的…谢谢,我尝试..我希望这解决了我的问题