Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery AJAX complete函数内部调用包装器函数_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 从jQuery AJAX complete函数内部调用包装器函数

Javascript 从jQuery AJAX complete函数内部调用包装器函数,javascript,jquery,ajax,Javascript,Jquery,Ajax,这就是我试图做的,但是我得到了一个无法绑定到未定义的错误,我假设是因为我在一个匿名函数中。我需要访问AJAX调用所在的方法(getAndSayHi) var Parent() = new Function () { this.sayHi = function (name) { console.log("hello " + name); } this.getAndSayHi = function () { $.ajax({

这就是我试图做的,但是我得到了一个无法绑定到未定义的错误,我假设是因为我在一个匿名函数中。我需要访问AJAX调用所在的方法(getAndSayHi)

var Parent() = new Function () {
    this.sayHi = function (name) {
        console.log("hello " + name);
    }
    this.getAndSayHi = function () {
        $.ajax({
            ....
            success: function(data) {
                this.sayHi.bind(this, data);
            }
        });
    }
我怎样才能做到这一点?感谢您的高级支持。

试试看

this.getAndSayHi = function () {
    var parent = this;
    $.ajax({
        ....
        success: function(data) {
            parent.sayHi.bind(this, data);
        }
    });
}

您可以解释原因:
始终引用当前对象实例。在success函数中,
引用jQuery对象,而不是您的
父对象。因此,调用的方法是未定义的。