代码之家  ›  专栏  ›  技术社区  ›  Nicholas

JS-从函数调用函数不工作

  •  -1
  • Nicholas  · 技术社区  · 7 年前

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

    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 回复  |  直到 7 年前
        1
  •  1
  •   MGS    7 年前

    这可能与您正在从回调函数传递参数有关。在Javascript中,回调内的变量在回调外不可用。 尝试将字符串(results.data[0].first\u name)的值设置为在updateName函数之外声明的变量(即全局变量),然后在updateName之外调用updatePerson函数,并将全局声明的变量作为参数。就像这样

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