Javascript 为什么chartjs对这些阵列的处理方式不同?
我正在用它来建立一个直线图。数据来自API。我从API中获取数据点,并使用Javascript 为什么chartjs对这些阵列的处理方式不同?,javascript,ajax,chart.js,Javascript,Ajax,Chart.js,我正在用它来建立一个直线图。数据来自API。我从API中获取数据点,并使用push方法构建一个数组,用于ChartJSdata:{data:dataFromAPI。我正在使用AJAX从API中获取数据 当我这样做时: var someArray = [23,49,39,59]; 然后将它输入到data:{data:参数中,它就工作了 Array(4) [23,49,39,59] 在AJAX调用中使用push方法时,控制台中的数组如下所示: Array [] 这两个数组变量都是全局声明的 我
push
方法构建一个数组,用于ChartJSdata:{data:dataFromAPI
。我正在使用AJAX从API中获取数据
当我这样做时:
var someArray = [23,49,39,59];
然后将它输入到data:{data:
参数中,它就工作了
Array(4) [23,49,39,59]
在AJAX调用中使用push
方法时,控制台中的数组如下所示:
Array []
这两个数组变量都是全局声明的
我在AJAX调用中使用push
方法构建的数组不适用于ChartJS。它会产生以下错误:
未捕获类型错误:n[a]。\u视图未定义
我所说的手动键入数组与构建的push
数组有什么区别?ChartJS为什么不接受push
数组
我还想指出,Array[]
中确实有元素。我完全忽略了AJAX的异步特性,没有将脚本包含在异步调用中。这个问题/答案为我提供了足够的洞察力,让我可以继续前进。应该注意的是,全局数组在作用域函数中分配值时行为不同。有你考虑过使用push()构建一个数组,然后将整个数组分配给你的chartObject.data.data?我不知道为什么会发生这种情况,但可能与访问器如何为“数据”公开有关字段。我将尝试此操作,谢谢。不起作用。虽然它清除了控制台中的错误,但图表中的数据仍然较少。@LaravelSucks您可以共享您的代码吗?这样人们可能更容易理解您的问题。