这是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/