jquery ajax - 远程计算机上触发的事件在 1 秒后中止

jquery ajax - fired event on remote machine is aborting after 1 sec

本文关键字:事件 ajax 计算机 jquery      更新时间:2023-09-26

我想在本地主机和远程计算机上触发事件。该事件是从 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)。