2014-07-08 76 views
0

對不起,我的英語。我得到「太多遞歸」的消息,我認爲是在阿賈克斯,這裏是代碼:jquery - Ajax「太多遞歸」錯誤showHide()和css.Fn

function procesarPdf(carpeta,idRevista,dirarchivo,paginaProcesar,nombreArchivo){   
      $.ajax({ 
       type:"POST", 
       url:'php/procesar_pdf.php', 
       data:{carpeta:carpeta,revista:idRevista,archivo:dirarchivo,paginaProcesar:paginaProcesar,nombreArchivo:nombreArchivo}, 
       async:false, 
       cache:false, 
       success: function(data) { 
        var datos = data;   
        if(datos.terminado==false){ 

         procesarPdf(datos.carpeta,datos.idRevista,datos.archivo,datos.paginaAProcesar,datos.nombreArchivo); 

        } else { 

         alert("Finish process"); 
         quitarEspera(); 
        } 
       } 
      }); 
     } 

我用PDF處理圖像獲得的圖像和縮略圖白衣文件procesar_pdf.php。

當成功我再次調用函數來繼續進程,我使用jquery的進度條來查看進度,但是當進度是50%或56%或65%時,螢火蟲會給我留言「太很多遞歸「與其他錯誤如何」css.Fn「或」showHide(this,arguments)「。

我不知道錯誤,請告訴我,如果知道錯誤。

+1

設置'async:true' –

+0

非常感謝!工作100% – user3427006

回答

0

您是從功能procesarPdf內調用函數

procesarPdf(datos.carpeta,datos.idRevista,datos.archivo,datos.paginaAProcesar,datos.nombreArchivo); 

- 太多的遞歸調用將表明這種情況正在發生很多次。每次函數調用一個函數時,一個新的幀被添加到堆棧中,並且堆棧的深度是有限的。你應該尋求一種繼續處理的替代策略,特別是如果你想同步進行。

0

沒有看到你的代碼的其餘部分,看起來你可能會在你正在做的任何事情中遞歸地調用procesarPdf()太多次。 Here是一篇文章,討論爲什麼其他用戶出現類似問題並獲得相同錯誤的原因。