Jquery - Ajax“太多递归”错误showHide()和css.Fn

时间:2014-07-08 19:58:05

标签: javascript php jquery

抱歉我的英文。我收到“太多递归”的消息,我认为是在ajax中,这是代码:

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%时,firebug给我发出“太多”的消息递归“与其他错误如何”css.Fn“或”showHide(this,arguments)“。

我不知道错误,请告诉我是否知道错误。

2 个答案:

答案 0 :(得分:0)

您正在调用该功能

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

来自函数procesarPdf - 过多的递归会表明这种情况多次发生。每次函数调用函数时,都会向堆栈添加一个新帧,并且堆栈的深度有限制。您应该采用另一种策略来继续处理,特别是如果您想同步进行处理。

答案 1 :(得分:0)

在没有看到代码的其余部分的情况下,看起来您可能会以任何方式递归调用procesarPdf()太多次。 Here是一个帖子,它解释了为什么另一个用户遇到类似问题并获得相同错误的根本原因。