Javascript 具有自定义json响应的Highcharts系列数据

Javascript 具有自定义json响应的Highcharts系列数据,javascript,ajax,ruby-on-rails-3,json,highcharts,Javascript,Ajax,Ruby On Rails 3,Json,Highcharts,一旦调用submit按钮,此图表将动态生成。图表以正确的序列名称呈现,但不显示任何行。 在我的Highcharts图表中有一个$get call,如下所示: series: [ <% {"WEB1" => Farm.WEB, "CAT1" => Farm.CAT, "ELK1" => Farm.ELK, }.each do |name, farm| %> { name

一旦调用submit按钮,此图表将动态生成。图表以正确的序列名称呈现,但不显示任何行。 在我的Highcharts图表中有一个$get call,如下所示:

series: [           
    <% {"WEB1" => Farm.WEB,
        "CAT1" => Farm.CAT,
        "ELK1" => Farm.ELK,
           }.each do |name, farm| %>
    {
    name: "<%= name %>",
    pointInterval: <%= 1.day * 1000 %>,
    pointStart: document.forms["myform"]["from"].value,
    data: $.get("/farm/1", {
        scope: "<%= name %>", 
        from: document.forms["myform"]["from"].value, 
        to: document.forms["myform"]["to"].value 
        }
          })
    },
    <% end %>]
这一切都有效。get返回正确的散列。但海图不喜欢这样。有人对我如何正确格式化这个有什么建议吗?提前谢谢

编辑

我就是这么想的。。但是它不起作用

 function(data){
        var arr = new Array();
            $.each(data, function(index,obj) {
               arr.push(obj.y);
       });setData(arr);

你只是做错了。这不是ajax的工作方式。AJAX是异步的,因此不返回任何内容,而是进行回调

data: $.get(...)
问题是,$.get不会立即返回任何内容,但也不会阻止或中断js处理,因此浏览器会继续执行下一个js块,甚至在ajax调用完成之前

这就是你通常的做法。首先进行$.get调用,完成后创建图表

$.get("/farm/1", {
    scope: "<%= name %>", 
    from: document.forms["myform"]["from"].value, 
    to: document.forms["myform"]["to"].value 
    },function(data){
          // use the data that was received to build the highchart
          chart=....
      }
});
$.get(“/farm/1”{
范围:“,
from:document.forms[“myform”][“from”].value,
收件人:document.forms[“myform”][“to”].value
},函数(数据){
//使用收到的数据构建highchart
图表=。。。。
}
});

谢谢,现在看起来是这样,但我如何访问数据值?数据:数据[0]或类似的东西不起作用……不管我怎么想!我刚刚使用了$。上面的每个函数都做了一个图表。addSeries(数据:arr)工作得很好!
$.get("/farm/1", {
    scope: "<%= name %>", 
    from: document.forms["myform"]["from"].value, 
    to: document.forms["myform"]["to"].value 
    },function(data){
          // use the data that was received to build the highchart
          chart=....
      }
});