获取通过jquery的AJAX JavaScript数组(Getting javascript ar

2019-11-01 08:15发布

也许你能帮助我。

我的jQuery的AJAX调用结果被分裂为“||” 并创建值的阵列。 其中一个值是像这样的字符串:

[['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]

我需要这是一个可行的javascript阵列传送至Google图表drawchart(myArray的)函数来与data.addRows(myarray中)使用它;

谁能帮我实现它?

我可以让这个AJAX返回数组看起来像什么,最重要的是,我可以用这个数组来更新谷歌图。

好吧,我的继承人阿贾克斯成功代码:

success: function(response)
     {
        response_d = response.split("||");
        response_message = response_d[0];

        if(response_message == 'ok') {
           $("#contr_count").html(response_d[1]); 
           $("#contr_average").html(contr_time(response_d[2])); 
           $("#contr_space_average").html(contr_time(response_d[3]));
           var chartdata = $.parseJSON(response_d[4]);
           drawChart(chartdata);
           $("#contr_list").html(response_d[5]); 
        }
        else {

        }
     }

这里是drawchart功能

function drawChart(chartdata) {
 var data = new google.visualization.DataTable();
  data.addColumn('string', 'Minutit tagasi');
  data.addColumn('number', 'T pikkus');
  data.addColumn('number', 'T vahe pikkus');

  data.addRows(chartdata);

data.addRows(dateArray);
 var options = {
   title:                 'T pikkuse ja vahe graafik (viimane 60 min)',
   backgroundColor:          '#fdf3e9', 
   colors:                ['#FF7F00','#437C17'],
   curveType:             'function',
   enableInteractivity:      true, 
   legend:                {position: 'bottom'},
   vAxis:                 {direction: -1},
   hAxis:                 {direction: -1},
   chartArea:             {width: '85%'}
 };

 var chart = new google.visualization.LineChart(document.getElementById('contr_graph'));
 chart.draw(data, options);

}

该代码给出了JSON错误“语法错误:JSON.parse:意外的字符” AR萤火虫。

Answer 1:

您需要替换'"先用试:

var s = "[['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]";
var arr = $.parseJSON(s.replace(/'/g,'"'))

这里用一个工作示例的jsfiddle 。 打开JavaScript控制台来查看结果。



文章来源: Getting javascript array through jquery ajax