JavaScript回调函数无法启动

时间:2018-07-05 22:31:15

标签: javascript ajax

由于某种原因,回调不会触发。 我删去了所有多余的代码,这就是结构。也许我看不到这里有什么问题?

(function() {
  registerSecendStep = new Page('registerSecendStep', function(name) { //CLIKED THE BUTTON
    $('.register-second-step-button').click(function() {
      function doAjax(testReferral) {
        alert(testReferral); //THIS NEVER GETS PRINTED
      }

      showHint(function() { doAjax(testReferral); }); //START THE CALL
    });
  });

  function showHint(callback) { //CALLBACK
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        alert('called'); //THIS GETS ALERTED
        callback(true);
      }
    }
    xmlhttp.open("GET", helper.app.HomeSite + "/ajaxresponder?w=" + str, true);
    xmlhttp.send();
  }
})();

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

testReferral从未在回调中定义。试试:

showHint(function(testReferral) {doAjax(testReferral);});