Javascript 使用JSON数据时出现未定义错误
如果我使用以下代码获取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
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。否则,您将。公司将未定义。