把$.getJSON获得的数据放到js数组里怎么他的length是1呢

vara=newArray(newArray());varc=newArray();$.getJSON("/Mobile_Server/admin/rgraph.do?o... var a = new Array(new Array());
var c = new Array();
$.getJSON(
"/Mobile_Server/admin/rgraph.do?oper_type=1",
function(data) {
$.each(data.result, function(k, v) {
c.push(v.cm_name);
var d = new Array();
d.push(v.p0);
d.push(v.p25);
a.push(d);
d = null;
});
alert(a.length);//返回1
alert(a.length);//返回10
});
"/Mobile_Server/admin/rgraph.do?oper_type=1" 这个返回的数据是{"result":
[{"p25":"1","p0":"2","oper_type":"1"},
{"p25":"1","p0":"2","oper_type":"1"},
{"p25":"0","p0":"1","oper_type":"1"},
{"p25":"0","p0":"0","oper_type":"1"},
{"p25":"1","p0":"0","oper_type":"1",},
{"p25":"1","p0":"1","oper_type":"1"},
{"p25":"0","p0":"0","oper_type":"1"},
{"p25":"0","p0":"1","oper_type":"1"},
{"p25":"0","p0":"0","oper_type":"1"}]}
我想把a,c用在下面的代码里
var bar = new RGraph.Bar('myCanvas', a); //创建Bar对象
//alert(a);
bar.Set('chart.labels',c); //设置标签
//bar.Set('hmargin', 15);
bar.Set('linewidth', 115);
bar.Set('numyticks',1);
bar.Set('chart.gutter.left', 145); //距离左边位置
bar.Set('chart.background.grid', true); //是否显示网格
bar.Set('chart.title','客户级别'); //标题
bar.Set('chart.shadow', true); //阴影
bar.Draw();
展开
 我来答
huibo865686
推荐于2016-05-20 · TA获得超过916个赞
知道小有建树答主
回答量:325
采纳率:80%
帮助的人:263万
展开全部
var a = [
    []
];
var c = [];
$.getJSON("/Mobile_Server/admin/rgraph.do?oper_type=1", function (data) {
    /*返回结果
    {
      "result": [
        {"p25": "1", "p0": "2", "oper_type": "1"},
        {"p25": "1", "p0": "2", "oper_type": "1"},
        {"p25": "0", "p0": "1", "oper_type": "1"},
        {"p25": "0", "p0": "0", "oper_type": "1"},
        {"p25": "1", "p0": "0", "oper_type": "1", },
        {"p25": "1", "p0": "1", "oper_type": "1"},
        {"p25": "0", "p0": "0", "oper_type": "1"},
        {"p25": "0", "p0": "1", "oper_type": "1"},
        {"p25": "0", "p0": "0", "oper_type": "1"}
      ]
    }
    */
    $.each(data.result, function (k, item) {
        c.push(item.cm_name);//貌似没有这个属性
        a.push([item.p0 , item.p25]);
    });
    alert(a.length);//返回10
});
追问
a在$.getJSON里是有值,但是在外面没有值啊。我是想把通过$.getJSON获取的a值,c值用到下面的代码中去 var bar = new RGraph.Bar('myCanvas', a);   //创建Bar对象  
bar.Set('chart.labels',c); //设置标签
bar.Draw();
追答

哦,这样啊,肯定没值啊,你那个getJSON方法是异步执行的,所以没值

你需要做一些处理

var a = [
    []
];
var c = [];
$.getJSON("/Mobile_Server/admin/rgraph.do?oper_type=1", function (data) {
    $.each(data.result, function (k, item) {
        c.push(item.cm_name);//貌似没有这个属性
        a.push([item.p0 , item.p25]);
    });
}).done(function(){
  //这里使用a和c
  var bar = new RGraph.Bar('myCanvas', a);   //创建Bar对象  
        //alert(a);
        bar.Set('chart.labels',c); //设置标签  
        //bar.Set('hmargin', 15);
        bar.Set('linewidth', 115);
        bar.Set('numyticks',1);
        bar.Set('chart.gutter.left', 145);   //距离左边位置  
        bar.Set('chart.background.grid', true);  //是否显示网格  
        bar.Set('chart.title','客户级别');   //标题  
        bar.Set('chart.shadow', true); //阴影  
        bar.Draw();
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式