ajax里面的Javascript回调函数

时间:2016-06-06 11:47:07

标签: javascript

我该怎么做?

function DoStuffAndCallBack(callback){
      $.get( "ajax/test.html", function( data ) {
      callback();

    });
}

DoStuffAndCallBack(DoneFunction);

function DoneFunction(){
  console.log('done stuff');
}

我得到'回调'为未定义。有没有办法做到这一点,我知道有承诺和什么不是,但我怎么能在这种情况下这样做。

1 个答案:

答案 0 :(得分:-2)

看起来“回调”在你的内部函数中失去了它的上下文,即在ajax调用中。

试试这个 -

function DoStuffAndCallBack(callback){
    this.callback = callback;
    var self = this;
    $.get( "ajax/test.html", function( data ) {
      self.callback();
    });
}

DoStuffAndCallBack(DoneFunction);

function DoneFunction(){
  console.log('done stuff');
}