无法执行' removeChild' on'节点':要删除的节点不是此节点的子节点。组件

时间:2018-06-19 09:30:01

标签: javascript php reactjs datatable datatables

我正在尝试使用React将一个小的(5000行)文本文件加载到dataTable上。使用ajax和PHP从远程服务器加载文本文件。当我试图立即加载它时,它仍然没有#34;表中没有可用的数据"错误。经过多次搜索,有人建议在dataTable上使用setTimeout,它在最初工作,但后来得到了错误,如标题所示。

用于设置数据表超时的代码块:

window.setTimeout(() => {
    $(document).ready( function () {
        $('.table').DataTable( {
        "lengthMenu": [ [10, 50, 100, -1], [10, 50, 100, "All"] ],
        })
    })
}, 1000);

此外,我还有3秒的超时时间来检查服务器中文本文件的任何更改,也使用ajax。

    componentDidMount() {
      $.ajax({
      url: 'http://localhost/phpRoot/readFile.php',
      type: "GET",
      dataType: "text",
      success: function(data) {
           this.setState({ text: data });
      }.bind(this),
      error: function(xhr, status, err) {
          console.log('error');
      }.bind(this)
      });
    }



     checkContent () {
        var tempText;
        $.ajax({
          url: "http://localhost/phpRoot/readFile.php",
          type: "GET",
          dataType: "text",
          success: function(data) {
             this.setState({ tempText: data });
          }.bind(this),
          error: function(xhr, status, err) {
              console.log('error');
          }.bind(this)
        });

        if(this.state.tempText != this.state.text){
          this.setState({ text: this.state.tempText });
        }
}


window.setTimeout(() => {
    this.checkContent();
}, 3100);

这是我桌子的主体:

<tbody>
    {finalSymbolArray.map((symbol, index) => {
        return(
            <tr key={symbol.id}>
                <td>{symbol.id}</td>
                <td>{symbol.name}</td>
                <td>{symbol.version}</td>
                <td>{symbol.comment}</td>
                <button
                 onClick={() =>this.openModal(index, symbolArrayTemp)}>
                    Tag
                </button>
            </tr>
        );
    })}
</tbody>

有谁知道如何解决错误?

0 个答案:

没有答案