Ajax失败响应创建DataTable

时间:2017-05-08 00:36:39

标签: jquery ajax datatable

我正在尝试从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"}
            ]
          });
    }
  });
});

1 个答案:

答案 0 :(得分:1)

尝试使您的代码看起来像下面链接中的代码, 它对我有用 call datatable on button click 确保你要返回JSON字符串,如果你有它,你可以测试它的有效性here

此链接中的代码段也可能有所帮助

Nested Datatables Selection Derived Values

祝你好运