Javascript 使用JSON数据时出现未定义错误

Javascript 使用JSON数据时出现未定义错误,javascript,json,Javascript,Json,如果我使用以下代码获取JSON文件: const requestURL = "https://securitynews.s3.eu-west-2.amazonaws.com/testchartdata.json"; const request = new XMLHttpRequest(); request.open("GET", requestURL); request.send();` `request.onreadystatechange = function() { if (re

如果我使用以下代码获取JSON文件:

const requestURL =
  "https://securitynews.s3.eu-west-2.amazonaws.com/testchartdata.json";
const request = new XMLHttpRequest();
request.open("GET", requestURL);
request.send();`

`request.onreadystatechange = function() {
  if (request.readyState === 4) {
    var chartObject = request.response;
    console.log(chartObject);
  }
};`
当我收到一个错误,说“chartObject未定义”时,如何在代码中使用
chartObject
对象,即
chartObject.companys

我想在这里使用图表对象数据:

labels: [chartObject.companies.one, chartObject.companies.two, chartObject.companies.three, chartObject.companies.four, chartObject.companies.five, ],
对于上下文,这是脚本的全部内容:

    <script>

const requestURL =
  "https://securitynews.s3.eu-west-2.amazonaws.com/testchartdata.json";
const request = new XMLHttpRequest();
request.open("GET", requestURL);
request.send();

request.onreadystatechange = function() {
  if (request.readyState === 4) {
    var chartObject = request.response;
    console.log(chartObject
    );
  }
};

var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: [chartObject.companies.one, chartObject.companies.two, chartObject.companies.three, chartObject.companies.four, chartObject.companies.five, ],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                }
            }]
        }
    }
});
</script>

常量请求URL=
"https://securitynews.s3.eu-west-2.amazonaws.com/testchartdata.json";
const request=new XMLHttpRequest();
打开(“GET”,requestURL);
request.send();
request.onreadystatechange=函数(){
if(request.readyState==4){
var chartObject=request.response;
console.log(chartObject
);
}
};
var ctx=document.getElementById('myChart');
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:[chartObject.companys.one,chartObject.companys.two,chartObject.companys.three,chartObject.companys.three,chartObject.companys.three,chartObject.companys.five,],
数据集:[{
标签:“#投票数”,
数据:[12,19,3,5,2],
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
],
边框颜色:[
"rgba(255,99,132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
],
边框宽度:1
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}]
}
}
});

你刚才问的是同一个问题还是其他人 你刚才问的是同一个问题还是其他人
chartObject
仅在该
if
语句的范围内。如果您想保留它,您需要将它传递给一个函数,或者将它分配给一个具有兼容作用域的变量,以便使用它。(但仅将其分配给变量对该特定代码无效)。
chartObject
仅在该
if
语句的范围内。如果您想保留它,您需要将它传递给一个函数,或者将它分配给一个具有兼容作用域的变量,以便使用它。(但仅将其分配给变量不适用于此特定代码)。我如何访问
图表。请访问公司
?使用
console.log(chart.companys)
@mohmt时出现未定义错误。响应是一个字符串,因此您必须先使用
JSON将其解析为JSON。否则您将
。公司将未定义。请问如何访问
chart.companys
?使用
console.log(chart.companys)
@mohmt时出现未定义错误。响应是一个字符串,因此必须先使用
JSON将其解析为JSON。否则,您将
。公司将未定义。