我对此很陌生,但我希望你能帮助我并解释它的原因。
我有一个应用程序,我在其中对站点进行 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 秒)时,它会再次对表格进行排序。有没有办法防止这种情况发生。