javascript之获取 jquery ajax 响应中的父函数名称

程序猿 阅读:37 2025-12-25 22:24:30 评论:0

arguments.callee.caller.name 

我明白这就是你获得 parent 的方式。

function parent() { 
    ajax{ 
        success: function(result) { 
            doOnSuccessFunction() { 
            } 
        } 
    } 
} 
 
function doOnSuccessFunction() { 
    console.log(arguments.callee.caller.name); 
} 

我希望 doOnSuccessFunction 在输出中记录“parent”,但它记录为空白,因为 success: function() 实际上是父级。有没有办法获得 ajax 调用的父级,我想这确实是个问题。不确定这如何与发挥作用的作用域和嵌套函数一起使用。希望有人已经遇到过这个问题并且可能有解决方案。

编辑:

这是我到目前为止所想出的,以尽可能保持动态。如果还有其他问题,请随时告诉我?

function parent() { 
    ajax{ 
        callback: arguments.callee.name, 
        success: function(result) { 
            doOnSuccessFunction(callback) { 
            } 
        } 
    } 
} 
 
function doOnSuccessFunction(callback) { 
    console.log(callback); 
} 

请您参考如下方法:

您在 success 参数中提供的函数是匿名函数。当您调用 parent 函数时,它不会被执行。它稍后执行(可能是异步的)。因此,您无法使用参数真正获得parent。 (如果您尝试,您可能会获得库的内部函数)

您可以在调用时使用参数并给出函数:

function parent() { 
    ajax{ 
        success: function(result) { 
            doOnSuccessFunction(parent); 
        } 
    } 
}     
 
function doOnSuccessFunction(parent) { 
    console.log(parent.name); 
} 


标签:ajax
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号