简体   繁体   English

Ajax中的Javascript回调函数

[英]Javascript callback function inside ajax

how would i do this? 我该怎么办?

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

    });
}

DoStuffAndCallBack(DoneFunction);

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

I am getting 'callback' as undefined.Is there a way to do this, i know there are promises and what not but how can i do this in this instance. 我正在获得未定义的``回调''。有没有办法做到这一点,我知道有承诺,但没有,但是在这种情况下我该怎么做。

It looks like the "callback" is loosing its context inside your inner function ie inside the ajax call. 看起来“回调”正在内部函数(即ajax调用内部)内失去上下文。

Try this - 尝试这个 -

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');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM