PHP Ajax CAll - javascript 在调用后无法工作

问题描述 投票:0回答:0

我对此很陌生,但我希望你能帮助我并解释它的原因。

我有一个应用程序,我在其中对站点进行 ajax 调用,该站点基于 SQL 查询生成表。一切正常,但现在我试图使表格可排序。我下载了一个 Javascript 文件,没有 Ajax 调用,一切正常。但是当我通过 Ajax 调用该站点时,可排序功能将不起作用。

这是 Ajax Call 的简化版本

**测试.php **

<head>

 <script src="/js/sorttable.js"></script>

  </head>
<body>
<div class="container" >    
    <div id="box"> </div>
</div>

</body>

<script>
window.onload = function () {
    loadStatus();
}

// LOAD Statusmonitor
const interval = setInterval(function() {
    loadStatus() }, 3000);

function loadStatus(){

    //XHR Objekt
    var xhr = new XMLHttpRequest();

    // OPEN
    xhr.open('GET', 'ajax/call.php', true);
    xhr.onload = function() {
        if(this.status == 200){
            document.getElementById('box').innerHTML = this.responseText;         
     var newTableObject = document.getElementById('statustable')
                    sorttable.makeSortable(newTableObject);   
        }
        if(this.status == 404){
            document.getElementById('box').innerHTML = 'ERROR';
        }
    }
    xhr.send();
}
</script>

**ajax/调用.php **



<h2 class="text-center mt-5">Statusmonitor TESTSITE</h2>
<h5 class="text-muted text-center mb-3"><?php echo date('d.m.Y H:i:s');?>
</h5>

<table class="table table-striped table-hover sortable">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">Ei</th>
      <th scope="col">T</th>
      <th scope="col">num</th>
      <th scope="col">Ort</th>
      <th scope="col">Status</th>
      <th scope="col">Min:Sek</th>
    </tr>
  </thead>
  <tbody>
    <tr>
        <td>1</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
    </tr>
    <tr>
        <td>2</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
    </tr>    <tr>
        <td>3</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
    </tr>    <tr>
        <td>4</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
    </tr>    <tr>
        <td>5</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
        <td>Lorem</td>
    </tr>


  </tbody>
</table>

我试过,正如你所见,即使在 call.php 中也包含 js 文件,如果我直接加载这个网站,一切正常。但是一旦 ajax 函数调用我的站点,Javascript 似乎就不起作用了。

如果有人可以帮助并向我解释问题,我将不胜感激。

如果我的问题表述不完善或者我的知识很基础,请原谅我

谢谢大家:)

我想要一个带有 ajax 调用的可排序表

*** 更新 ***

感谢输入,我设法通过再次调用表使其可排序。我查看了 JS 的文档:https://www.kryogenix.org/code/browser/sorttable/

但现在我遇到了一个问题,当 ajax 刷新站点(每 3 秒)时,它会再次对表格进行排序。有没有办法防止这种情况发生。

javascript php ajax
© www.soinside.com 2019 - 2024. All rights reserved.