Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 为什么chartjs对这些阵列的处理方式不同?_Javascript_Ajax_Chart.js - Fatal编程技术网

Javascript 为什么chartjs对这些阵列的处理方式不同?

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 [] 这两个数组变量都是全局声明的 我

我正在用它来建立一个直线图。数据来自API。我从API中获取数据点,并使用
push
方法构建一个数组,用于ChartJS
data:{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您可以共享您的代码吗?这样人们可能更容易理解您的问题。