Javascript 高图图形don';我一半的时间都不能装

Javascript 高图图形don';我一半的时间都不能装,javascript,csv,highcharts,Javascript,Csv,Highcharts,我用highcharts在一个网页上显示了大约10个图表。我遇到的问题是,图表只加载一部分时间,通常约为50%。我不确定这是否相关,但使用GDPC1.csv制作的第一个图形每次都会加载 下面是我用来创建所有图形的代码: var xmlhttp = new XMLHttpRequest(); var unratexml = new XMLHttpRequest(); var cpixml = new XMLHttpRequest(); xmlhttp.onread

我用highcharts在一个网页上显示了大约10个图表。我遇到的问题是,图表只加载一部分时间,通常约为50%。我不确定这是否相关,但使用GDPC1.csv制作的第一个图形每次都会加载

下面是我用来创建所有图形的代码:

    var xmlhttp = new XMLHttpRequest();
    var unratexml = new XMLHttpRequest();
    var cpixml = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {

        var d = csvToArray(xmlhttp.responseText);
        var c = csvToArray(unratexml.responseText);
        var x = csvToArray(cpixml.responseText);

        createGDPChart(d);
        createUNRATEChart(c);
        createCPIChart(x);
        }
    }

    xmlhttp.open("GET","GDPC1.csv",true);
    xmlhttp.send();

    unratexml.open("GET","UNRATE.csv",true);
    unratexml.send();

    cpixml.open("GET","test.csv",true);
    cpixml.send();

我能想到的唯一一件事是,它与我的if语句有关,也许大多数时候它都是错误的,但我对javascript了解不够,不知道要更改什么。提前感谢。

每个
XMLHttpRequest
实例都是独立的请求。您必须为每个请求定义
onreadystatechange
。大概是这样的:

var xmlhttp = new XMLHttpRequest();
var unratexml = new XMLHttpRequest();
var cpixml = new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    var d = csvToArray(xmlhttp.responseText);
    createGDPChart(d);
    }
}

unratexml.onreadystatechange = function() {
  if (unratexml.readyState==4 && unratexml.status==200) {
    var c = csvToArray(unratexml.responseText);
    createUNRATEChart(c);
    }
}

cpixml.onreadystatechange = function() {
  if (cpixml.readyState==4 && cpixml.status==200) {
    var x = csvToArray(cpixml.responseText);
    createCPIChart(x);
    }
}

xmlhttp.open("GET","GDPC1.csv",true);
xmlhttp.send();

unratexml.open("GET","UNRATE.csv",true);
unratexml.send();

cpixml.open("GET","test.csv",true);
cpixml.send();

谢谢,完美的回答。