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



