首先,我利用Php的echo json_encode($data);返回一个二维数组,给js中利用ajax请求的函数,并利用mydata = eval('(' + xhr_graph.responseText + ')'); 获得此数组,并利用alert(mydata)能正常输出此数组的数据,可是当我需要将这个数组传给jschart中的myChart.setDataArray(mydata);中时,jschart老是提示格式错误,当我将mydata固定时,
即mydata = Array([0, 1],[1, 2],[2, 3],[3, 65],[4, 50],[5, 50],[6, 60]);
jschart能正常绘图,注意此时的mydata是根据之前返回的数组的数据构造的。一直认为这可能是跟返回的数据的格式有关,所以我又重新将返回的的mydata进行类型的转换,转换为int,代码如下:
var data = {};
for(i=0;i<mydata.length;i++)
{
data[i][0] = parseInt(new Number(mydata[i][0]));
data[i][1] = parseInt(new Number(mydata[i][1]));
}
这样依然提示格式不正确,最后当我将data如下定义时就好了,所以想是否和js数组的定义有关,但是又不是很清楚,请高手赐教,万分感激!
var data = new Array();
for(i=0;i<mydata.length;i++)
{
data[i] = new Array();
}
即mydata = Array([0, 1],[1, 2],[2, 3],[3, 65],[4, 50],[5, 50],[6, 60]);
jschart能正常绘图,注意此时的mydata是根据之前返回的数组的数据构造的。一直认为这可能是跟返回的数据的格式有关,所以我又重新将返回的的mydata进行类型的转换,转换为int,代码如下:
var data = {};
for(i=0;i<mydata.length;i++)
{
data[i][0] = parseInt(new Number(mydata[i][0]));
data[i][1] = parseInt(new Number(mydata[i][1]));
}
这样依然提示格式不正确,最后当我将data如下定义时就好了,所以想是否和js数组的定义有关,但是又不是很清楚,请高手赐教,万分感激!
var data = new Array();
for(i=0;i<mydata.length;i++)
{
data[i] = new Array();
}
解决方案 »
- 原来的web项目导入到Meclipse9.1,显示jquery-1.4.2.min.js文件有错误
- js第13讲 JavaScript的事件操作
- 为什么不可以在fckeditor放入完整的<object>和<embed>tag?
- JSTL库 foreach问题
- 请教js调用子窗体的问题……
- 层拖动时滚动条的问题
- 三个列表,前连个列表都从数据库循环出来了多个纪录,选择第二个列表时第三个列表要填充值
- ·该怎么写事件控制表格背景颜色的变幻?
- target="_parent"有何用?
- 如何得到iframe裡另外一個頁面上的checkbox的值﹖
- JQuey无法给对象赋值
- js+div 鼠标移动到主菜单,显示和隐藏问题
for($i=0;$i<$num2;$i++)
{
$data[$i][0] = $i;
$data[$i][1] = mysql_result($result2, $i, "times");
}
echo json_encode($data);
var data = {};
for(i=0;i<mydata.length;i++)
{
data[i][0] = parseInt(new Number(mydata[i][0]));
data[i][1] = parseInt(new Number(mydata[i][1]));
}
但是这样还是不行,但是当data数组定义如下时就OK了。
var data = new Array();
for(i=0;i<mydata.length;i++)
{
data[i] = new Array();
}
{
data[i] = new Array();
}
这样定义,就是对这个有点费解……
for(i=0;i<mydata.length;i++)
{
data.push(parseInt(new Number(mydata[i][0])));
}
var data = [];
for (i = 0; i < mydata.length; i++) {
for(var j=0;j<mydata[i].length;j++){
data.push(mydata[i][j]);//JS中数组任何类型都可以
}
}
如果你只是想简单的复制二维到二维,直接这样就行了:
var data = [];
for(i=0;i<mydata.length;i++)
{
data.push(mydata[i]);//JS中数组任何类型都可以
}