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

1 つはハイチャート、もう 1 つは JSON の 2 つの異なるサーバーがある場合、クロスドメインの問題に遭遇する可能性があります。そのため、JSONP を使用して、それを減らすことができます。

于 2013-06-03T14:37:59.620 に答える