【问题标题】:Jquery - Ajax "too much recursion" errors showHide() and css.FnJquery - Ajax“递归过多”错误 showHide() 和 css.Fn
【发布时间】:2014-07-08 19:58:04
【问题描述】:

对不起我的英语。我收到“递归过多”的消息,我认为是在 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% 时,萤火虫向我抛出“太多递归”与其他错误如何“css.Fn”或“showHide(this,arguments)”。

我不知道错误,如果知道错误请告诉我。

【问题讨论】:

  • 非常感谢!!! 100% 工作

标签: javascript php jquery


【解决方案1】:

你正在调用函数

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

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

【讨论】:

    【解决方案2】:

    没有看到你的其余代码,看起来你可能在你正在做的任何事情中递归调用 procesarPdf() 太多次。 Here 是一篇文章,它从根本上解释了为什么另一个用户遇到了类似的问题并得到了同样的错误。

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      相关资源
      最近更新 更多