0

我想在 localhost 机器和远程机器上触发一个事件。该事件是从 XML 到 SQL-DB 的导入。导入大约需要 5 秒。现在的问题是导入在 localhost 机器上运行良好,但在远程机器上却不行。如果导入是在远程机器上的远程机器上触发的,它也运行良好。在 FF-Webdevoloper-tool 中,我可以看到本地机器上的事件浪费了大约 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 
?>
4

1 回答 1

0

如果浏览器取消脚本确实有问题,那么您可以尝试ignnore_user_abort php 函数。

但我认为您应该检查服务器端是否没有其他问题停止导入。也许它只是因为一些错误(如内存不足)而安静地失败,或者它被配置为只给脚本 5 秒(这会很奇怪,非标准,但可能会发生 - 查看 php.ini 或 phpinfo() 结果中的 max_execution_time)。

于 2013-10-26T18:13:44.340 回答