Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的函数没有被调用?_Javascript_Html_Ajax - Fatal编程技术网

Javascript 为什么我的函数没有被调用?

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

我正在编写一个脚本,基本上将数据库作为表加载。这只是它的赤裸裸的版本,但应该涵盖我试图做的一切

HTML:


身份证
显性基因
%
次级基因
%
映射的读取数
突变数目
突变信息
看法
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