javascript - 为什么我的嵌套函数在 javascript 中未定义

标签 javascript json function undefined

这是java脚本的类。我收到 GetL() 未定义的错误 它的代码无法运行(我在里面尝试了随机控制台,但它们从未运行)。函数的第一部分显示数组,但 GetL 显示未定义。

我做错了什么?

function getC() {
    var url = config.api.server + config.api.uri + "/c";
    $.getJSON(url).done(function(r) {
      if (!r.length) {
        console.warn("Empty");
      }
      config.c = r;
      console.log(r);
      $.map(config.c, function(item) {

        $("#c").append($('<option>').text(item.ci));

      });

      var a = $("#c").find("option:selected").text();


      function GetL() {

        var url = config.api.server + config.api.uri + "/l";

        $.getJSON(url).done(function(answer) {

          if (!answer.length) {
            console.warn("Empty list");
          }
          config.l = answer;
          console.log(answer);

          r.forEach(function(cName) {
            if (a == cName.ci) //check if name is equal to selection 
            {
              var x = cName.ci.l; //get the ls of that name and put it in a place holder 
              console.log(x); //undefined
              $.map(x, function(item) { //make a map to append those specific ls

                $("#l").append($('<option>').text(item.str));
              });
            }

          });

        }).fail(function(data, status, error) {
          console.error("Something went wrong");
        });

      }

      GetL();
    }).fail(function(data, status, error) {
      console.error("Something went wrong");
    });


  } //end big function

最佳答案

您应该返回您正在寻找的值。

返回x

你可以做到

console.log(x)
return x

只是为了确保值匹配。

关于javascript - 为什么我的嵌套函数在 javascript 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40863175/

相关文章:

javascript - 如何传递用户输入的简单计算器

javascript - 条件渲染表行 React

php - 在 android 中获取 HTML 响应而不是 JSON

json - 如何使用 Newtonsoft JSON.NET 执行提供 "paths"的部分对象序列化

ruby-on-rails - 未初始化的常量 devise::controllers::internalhelpers

c - 将相同的结构成员分配给其他成员时,c 中的分配类型不兼容

java - 递归函数可以在函数的原始调用中更改变量吗?

c++ - 通过避免函数来提高程序速度? (C++)

javascript - d3..js : adding texts to nodes and links using incoming JSON data of varying size

javascript - 为什么我必须乘以 1000 才能获得可读格式的 unix 标记?