0

我正在预先生成用于使用 highcharts.js 绘图的数据点,并将它们存储在我的公共文件夹中。我似乎在将它们有效地传递给我的 JS 代码时遇到了问题,所以现在,我正在我的视图中阅读它们并将它们粘贴到 HTML 中的函数调用中。这感觉不对。理想情况下,我认为我应该从 Apache、AJAX 风格到我的 JS 函数为它们提供服务,但目前的方法似乎有效......

generate_plot.js:

var generate_plot = function(str) {
  var t_test = str[3];
  var kdes = str[2];
  var new_vals = str[0];
  var old_vals = str[1];
  var chart_number = str[4] + 1;
....

在我看来(haml)我正在做:

...
 - txt = ['public', (comparison_path(params[:id]) + graph).split('/').uniq.delete_if{|a| a.empty? }].join('/')
      %div.bean{:id => "bean#{i+1}" }
      %div.time{:id => "time#{i+1}" }
      :javascript
        generate_plot(#{File.readlines(txt).first[0...-1] + ','+ i.to_s + ']'})

这最终会生成一些非常笨重和残暴的 html。我知道有更好的方法!

将本地 JSON 数据提供给客户端进行渲染的正确方法是什么?我之前尝试过这样做,但我的服务器没有直接找到本地 JSON 文件,所以我开始使用 Rails 应用程序来读取它们。

我的服务器找不到 JSON 是否有原因?我应该使用 AJAX 来加速它,还是应该将它推送到 HTML 中(它是否同样快?)

这里的任何方向都会有所帮助,因为我不确定要寻找什么。

4

1 回答 1

0

如果您有两台不同的服务器,一台使用 highcharts,第二台使用 JSON,您可能会遇到跨域问题。所以你可以使用 JSONP 来减少它。

于 2013-06-03T14:37:59.620 回答