我想在本地主机和远程计算机上触发事件。该事件是从 XML 导入到 SQL-DB 的事件。导入大约需要 5 秒。现在的问题是导入在本地主机上运行良好,但在远程计算机上运行不佳。如果导入是在远程计算机上的远程计算机上触发的,则它也能很好地运行。在 FF-Webdevoloper 工具中,我可以看到本地机器上的事件浪费了大约 5 秒,远程机器上的事件浪费了 1 秒。结果是,没有将整个 XML 导入到数据库中。我猜导入浪费了很多时间,这发生在 jquery ajax 函数对导入过程的堕胎中。有什么想法可以解决这个问题吗?
这是我的函数代码:
function Zurueck(){
// fired event on localhost
$.ajax({
url: "zurueck.php",
data: {encoder : encoderID, tabelle: Tabelle},
datatype: "json",
type: "POST",
success: function(data) {
}
});
// same fired event on remote machine
$.ajax({
// pfad zur PHP Datei (ab HTML Datei)
url: "http://192.168.2.151/backend/zurueck.php",
data: {encoder : encoderID, tabelle: Tabelle},
dataType: "json",
type: "POST",
success: function(data) {
}
});
}
这是本地和远程过程的代码:
<?php
$xml = simplexml_load_file('TEST.XML');
//.....
// do something, and so on
?>
如果浏览器取消脚本确实有问题,那么您可以尝试ignnore_user_abort php函数。
但我认为您应该检查服务器端是否有其他问题停止导入。也许它只是在某些错误(例如内存不足)上悄悄失败,或者它配置为只给 5 秒的脚本(会很奇怪,非标准,但可能会发生 - 在 php.ini 或 phpinfo() 结果中查看max_execution_time)。