无法在jquery中重新初始化DataTable错误

无法在jquery中重新初始化DataTable错误,jquery,Jquery,我有一个用json数据填充表的jQuery代码。当我多次单击“搜索”按钮时,会出现以下错误: 无法重新初始化数据表 我试过很多方法,但都解决不了。有人能帮我吗 <script> function getData(){ var URL_PREFIX="http://localhost:8983/solr/archiveCore/select?q=strSO:"; var URL_MIDDLE="AND PackName:"; var URL_SUFFIX="A

我有一个用json数据填充表的jQuery代码。当我多次单击“搜索”按钮时,会出现以下错误:

无法重新初始化数据表

我试过很多方法,但都解决不了。有人能帮我吗

<script>

function getData(){
    var URL_PREFIX="http://localhost:8983/solr/archiveCore/select?q=strSO:";
    var URL_MIDDLE="AND PackName:";
    var URL_SUFFIX="AND DocType:";
    var strSO="\"" + $("#ngramBoxstrSO").val() + "\"";
    var PackName="\"" + $("#ngramBoxPackName").val() + "\"";
    var DocType="\"" + $("#ngramBoxDocType").val() +"\"";
    var URL=URL_PREFIX + strSO + URL_MIDDLE + PackName + URL_SUFFIX + DocType;
    $.ajax({
        url:URL,
        dataType:'jsonp',
        jsonp : 'json.wrf',
        type :'get',
        cache :false,
        success: function(data){
            var docs=JSON.stringify(data.response.docs);
            var jsonData=JSON.parse(docs);
            var html='';

            $.each(jsonData,function(key,value){
                html+='<tr>';
                html+='<td>'+value.id+'</td>';
                html+='<td>'+value.strSO+'</td>';
                html+='<td>'+value.PackName+'</td>';
                html+='<td>'+value.DocType+'</td>';
                html+='<td>'+value.DocName+'</td>';
                html+='<td class="text-center"><button id="'+value.FilePath+""+'type="button onclick="openDocument(this.id)" class="btn btn-sm" >OPEN</td>';
                html+='</tr>';
            });
            $("#tbody").append(html);
            $(document).ready(function() {
                $('#example').dataTable({
                    "aaSorting" : [],
                });
            })
        },

    });

}
</script>

何时以及如何调用getData方法。您可能初始化datatable两次。在页面上加载一次,在向其中添加数据时再次加载一次。你只需要做一次。@GaganDeep我有3个文本框,我正在查询它们的值。例如,我填写1个文本框,然后单击搜索按钮。它获取查询结果。但当我想第二次查询时——例如填充所有文本框——它会给我这个错误。getData方法在搜索按钮单击确定时运行,因此您需要做的是使用$'example'.dataTable.destroy销毁以前的dataTable;先创建,然后再创建。尝试一下,同时从ajax调用中删除$document.ready函数。把它放在那里是没有意义的。您何时以及如何调用getData方法。可能您正在初始化datatable两次。在页面上加载一次,在向其中添加数据时再次加载一次。你只需要做一次。@GaganDeep我有3个文本框,我正在查询它们的值。例如,我填写1个文本框,然后单击搜索按钮。它获取查询结果。但当我想第二次查询时——例如填充所有文本框——它会给我这个错误。getData方法在搜索按钮单击确定时运行,因此您需要做的是使用$'example'.dataTable.destroy销毁以前的dataTable;先创建,然后再创建。尝试一下,同时从ajax调用中删除$document.ready函数。把它放在那里没有意义。