javascript - 在jquery ajax响应中获取父函数名称

原文 标签 javascript jquery ajax

arguments.callee.caller.name

我知道这就是你得到 parent 的方式。
function parent() {
    ajax{
        success: function(result) {
            doOnSuccessFunction() {
            }
        }
    }
}

function doOnSuccessFunction() {
    console.log(arguments.callee.caller.name);
}

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

编辑:

到目前为止,这是我想出的,尽可能保持动态。如果还有其他事情,请随时让我知道吗?
function parent() {
    ajax{
        callback: arguments.callee.name,
        success: function(result) {
            doOnSuccessFunction(callback) {
            }
        }
    }
}

function doOnSuccessFunction(callback) {
    console.log(callback);
}

最佳答案

您在 success 中给出的功能参数是一个匿名函数。调用 parent 时不执行功能。它稍后执行(并且可能是异步的)。所以你不能真正得到parent使用 arguments . (如果您尝试,您可能会获得库的内部功能)

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

function parent() {
    ajax{
        success: function(result) {
            doOnSuccessFunction(parent);
        }
    }
}    

function doOnSuccessFunction(parent) {
    console.log(parent.name);
}

关于javascript - 在jquery ajax响应中获取父函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916684/

相关文章:

javascript - !0 和 !1 不仅仅是真/假的简写吗?

javascript - 三星手机的视觉灯箱覆盖宽度不会达到100%

javascript - 使用 AJAX 调用 Flask API

javascript - 缓存 :false in ajax call attach a value with URl

javascript - 在span标签中包装每个单词的每个首字母-javascript

ruby-on-rails - Controller 中带有参数的 Rails 3.2 ajax 示例

javascript - 如何仅标记Extjs菜单中的菜单项之一

javascript - 为什么在使用 facebook 虚拟主机作为 Canvas 页面时没有加载我的 Assets ?

javascript - 使用jQuery提交表单(JSON编码,ajax,解析原始url/方法)

javascript - 尽管执行了DataLayer推送,但Google跟踪代码管理器代码未触发