php 语法错误:JSON输入意外结束,并且网络选项卡中的预览设置为空

sigwle7e  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(136)

我目前正在开发一个资产管理系统。我正在通过代码搜索商品。现在,当我绘制搜索结果时,我得到以下结果
语法错误:JSON输入意外结束
所以我去了网络选项卡,我的sql查询是和惊喜惊喜,它出现空白(空),这就是我也在同样的事情,因为这从来没有发生在我身上。

PHP语言

<?php 
$value=$_POST['valor'];
$op=$_POST['opcion'];

 if ($op==='B') {
include '../modelo/conexiondb.php';

    try{
        $sql=$conexion->prepare('SELECT fecha, nombre as clasificacion, tipo_de_bien, concepto, cantidad, n_bien, n_control, nombre_y_descripcion, departamentos as departamento, v_unitario, estado as estatus from bienes INNER JOIN clasificacion on bienes.clasificacion=clasificacion.id_d INNER JOIN concepto_mov_incorporados on bienes.concep_mov=concepto_mov_incorporados.codigo INNER JOIN departamentos on bienes.departamento=departamentos.id_depa INNER JOIN estatus on bienes.estatus=estatus.id where n_bien=?');
        $sql->bind_param('s', $value);
        $sql->execute();
        
        $respuesta = $sql->get_result()->fetch_all();

        $sql->close();
        
        $conexion->close();
    }catch(Exception $e){
    //En caso de un error, tomar la excepcion
    $respuesta = array('respuesta' =>$e->getMessage() );
     }
     echo json_encode($respuesta);
    }
  ?>

JS系统

const d=document;
d.addEventListener('DOMContentLoaded', e=>{
detectarOpcion();
 });
function detectarOpcion () {
 let $input=d.getElementById('valor'),
 $boton=d.getElementById('btn-buscar');
 $boton.addEventListener('click', e=>{
 let $select=d.getElementById('select').value;
            const datos=new FormData();
            datos.append('valor', $input.value);
            datos.append('opcion', $select) 
        fetch('./modelo/nbien_busqueda_y_ncontrol.php', {
        method: 'POST',
        body: datos,
        })
    .then(res=>{return res.ok ?(res.json()) :Promise.reject(res);})
    .then(data=>{ console.log(JSON.stringify(data));
        let respuesta='';
        for(let i in data ){
            respuesta += `<tr>
                <td>${data[i].fecha}</td>
                <td>${data[i].clasificacion}</td>
                <td>${data[i].tipo_de_bien}</td>
                <td>${data[i].concepto}</td>
                <td>${data[i].cantidad}</td>
                <td>${data[i].n_bien}</td>
                <td>${data[i].n_control}</td>
                <td>${data[i].nombre_y_descripcion}</td>
                <td>${data[i].departamento}</td>
                <td>${data[i].v_unitario}</td>
                <td>${data[i].estatus}</td>
             
            </tr>`
            
        }
        d.querySelector('.contenedor-datatables').classList.remove('none');
        d.querySelector('.tbody').innerHTML=respuesta;
        

    
    })
    .catch(err=>{
    console.log(err); 
})
.finally(()=>{
    console.log('Esto se ejecutará independientemente del resultado de la Promesa Fetch')
})

})

$(document).ready(function(){
$('#bienes-busqueda').DataTable();
});

}

h5qlskok

h5qlskok1#

似乎存在以下问题:for(let i in data )在这种情况下,您应该使用类似下面的内容:for(let i = 0; i < data.length; i += 1)希望这有帮助!

相关问题