我正在尝试从AJAX查询构建JSON,并尝试将其放入Datatable中,我在浏览器中收到此错误:
DataTables警告:table id = example - 无效的JSON响应。请参阅http://datatables.net/tn/1。
我该如何解决?
我正在使用Mongo作为数据库,在那里我寻找关系以获取你的id并发送该id并获取细节及其附件以武装表格的行。
$(document).ready(function() {
var jsonObj = [];
$.ajax({
type: "GET",
url: "/obtenerRelacion",
dataType: "json",
success: function(relacion){
for(var i in relacion) {
var id = relacion[i].cajaChica._id;
$.ajax({
type: "GET",
url: "/obtener/detalle/anexo/"+id+"",
dataType: "json",
success: function(cajaChica){
for(var j in cajaChica) {
item = {};
item['hechoPor'] = relacion[i].cajaChica.HECHO_POR_CORREO;
item['aprobadoPor'] = relacion[i].cajaChica.APROBADO;
item['categoria'] = cajaChica[j].NOMBRE_CATEGORIA;
item['valor'] = cajaChica[j].VALOR
item['ruc_ced'] = cajaChica[j].RUC_CED;
item['fecha'] = cajaChica[j].FECHA;
item['empresa'] = cajaChica[j].NOMBRE_EMPRESA;
item['entregadoA'] = cajaChica[j].NOMBRE_ENTREGADO;
item['proveedor'] = cajaChica[j].NOMBRE_PROVEEDOR;
item['cargadoA'] = cajaChica[j].NOMBRE_CARGADO;
item['detalle']= cajaChica[j].DETALLE_CAJA;
if(cajaChica[j].anexo != undefined){
item['tipo'] = cajaChica[j].anexo['TIPO'];
item['numFact'] = cajaChica[j].anexo['ESTAB_FAC']+''+cajaChica[j].anexo['PTO_FAC']+''+cajaChica[j].anexo['SEC_FAC'];
}else{
item['tipo'] = 'NO HAY';
item['numFact'] = 'NO EXISTE'
}
jsonObj.push(item);
}
}
});
}
},
complete: function(){
$('#table').DataTable( {
ajax: jsonObj,
columns: [
{ title: "aprobadoPor" },
{ title: "cargadoA" },
{ title: "categoria" },
{ title: "detalle" },
{ title: "empresa" },
{ title: "entregadoA" },
{ title: "fecha" },
{ title: "hechoPor" },
{ title: "proveedor" },
{ title: "ruc_ced" },
{ title: "tipo" },
{ title: "valor" },
{ title: "numFact"}
]
});
}
});
});
答案 0 :(得分:1)
尝试使您的代码看起来像下面链接中的代码, 它对我有用 call datatable on button click 确保你要返回JSON字符串,如果你有它,你可以测试它的有效性here
此链接中的代码段也可能有所帮助
Nested Datatables Selection Derived Values
祝你好运