JS - 函数调用函数不工作

时间:2018-04-18 21:15:43

标签: javascript json

我有一个被调用的函数,在其中,我调用另一个函数:

updatePerson(name)

出于某种原因,当调用下面的函数时,它永远不会激活。该功能中的其他所有功能都可以使用。

  function updateName(name) {
    $.get('XXX',function (data) {
            var results = $.parseJSON(data);
            var matchName = String(results.data[0].first_name);
            updatePerson(matchName);}       
      ); 
  };

有没有人知道我做错了什么?

如果我跑alert(matchName),我会得到尼克作为回应。

如果我运行console.log(updateMap(matchAddress))我得到了未定义的

1 个答案:

答案 0 :(得分:1)

这可能与您从回调函数传递参数的事实有关。在Javascript中,Callback中的变量在回调之外是不可用的。 尝试将String(results.data [0] .first_name)的值设置为在updateName函数之外声明的变量(即全局变量),然后在update name之外调用updatePerson函数,并将全局声明的变量作为参数。像这样



  var globalMatchName = '';
  
  
  function updateName(name) {
    $.get('XXX',function (data) {
            var results = $.parseJSON(data);
            globalMatchName =String(results.data[0].first_name);
            }       
      );
      
      updatePerson(globalMatchName)
  }