Javascript 为什么我的函数没有被调用?
我正在编写一个脚本,基本上将数据库作为表加载。这只是它的赤裸裸的版本,但应该涵盖我试图做的一切 HTML:Javascript 为什么我的函数没有被调用?,javascript,html,ajax,Javascript,Html,Ajax,我正在编写一个脚本,基本上将数据库作为表加载。这只是它的赤裸裸的版本,但应该涵盖我试图做的一切 HTML: 身份证 显性基因 % 次级基因 % 映射的读取数 突变数目 突变信息 看法 Javascript: var kiloseqResult function dbload(name){ var r = new XMLHttpRequest(); r.open("GET", "/db/"+name, true); r.onreadystatechange = fun
身份证
显性基因
%
次级基因
%
映射的读取数
突变数目
突变信息
看法
Javascript:
var kiloseqResult
function dbload(name){
var r = new XMLHttpRequest();
r.open("GET", "/db/"+name, true);
r.onreadystatechange = function () {
if (r.readyState != 4 || r.status != 200) return;
kiloseqResult = r.responseText;
console.log(kiloseqResult)
return kiloseqResult
structureTable();
};
r.send()
}
function structureTable(){
if (kiloseqResult==null){
throw "Error: no databse defined"
};
document.getElementById("summaryTable").style.visibility="visible";
kiloseqDatabase = JSON.parse(kiloseqResult);
var table = document.getElementById("summaryBody");
for (i=0;i<kiloseqDatabase.length;i++){
var row = table.insertRow(i);
var cell = row.insertCell(0);
cell.innerHTML = "Some HTML here"
};
}
var-kiloseqResult
函数dbload(名称){
var r=新的XMLHttpRequest();
r、 打开(“GET”,“/db/”+name,true);
r、 onreadystatechange=函数(){
如果(r.readyState!=4 | | r.status!=200)返回;
kiloseqResult=r.responseText;
console.log(kiloseqResult)
返回kiloseqResult
结构表();
};
r、 发送()
}
函数结构表(){
if(kiloseqResult==null){
抛出“错误:未定义数据库”
};
document.getElementById(“summaryTable”).style.visibility=“visible”;
kiloseqDatabase=JSON.parse(kiloseqResult);
var table=document.getElementById(“summaryBody”);
对于(i=0;i一旦命中return
语句,javascript将停止处理函数的其余部分,因此return
之后的任何行都将被忽略。因此,请切换这些行的顺序,以便:
structureTable();
return kiloseqResult
因为您是在返回后调用它的
?与您的问题没有直接关系,但是您的
元素(您无论如何都不应该使用)不接近。我不知道返回后我不能调用它。谢谢。是的,您也不应该在那里。非常感谢:)我甚至不知道这是件事。谢谢。这是一个令人尴尬的愚蠢问题。谢谢@ialarmedalien。我用更好的解释更新了答案。
structureTable();
return kiloseqResult