0

ページの読み込み時に適切に生成されるグラフがあります。そのコードは次のとおりです。

<body>
<div id="placeholder" style="width:800px;height:400px;"></div>

<script type="text/javascript">
$(function () {
    $.plot($("#placeholder"),
[ { data: %s } ],
{ xaxes: [ { mode: 'time' } ],
  yaxes: [  ] })
});
</script>

これは問題なく動作します。jqueryを実行し、新しいjsonデータ構造を取得するように要求するボタンがあります。返されるjsonが実際に適切なjsonであることを検証しました。結果を次のようにグラフ化しようとしています:

<script type="text/javascript">
$(function() {
      $("#button").click( function()
           {
             //alert('button clicked');
             $.ajax({
                url:  '/graph',
                type: 'POST', 
                dataType: 'html',
                data: {
                    start_date: $('#start_date').val(),
                    end_date  : $('#end_date').val(),
                    ticker    : $('#ticker').val()
                },
                success: function(result) {
                var placeholder = $("#placeholder");
                $.plot(placeholder,
                  [ { data: result } ], 
                    { xaxes: [ { mode: 'time' } ],
                      yaxes: [  ] });  
             }
            });
          }
      );
});

これはグラフを再描画しますが、空であり、y軸はデフォルトの-1.0から1.0であり、x軸は00:00:00の1回限りのエントリです。

setData()メソッドとdraw()メソッドの呼び出しを使用しようとしましたが、問題は解決しません。

firebugで示されているように、JavaScriptエラーがスローされることはありません。だから、私は何が間違っているのですか?

TIA!

4

1 に答える 1

2

応答が有効であると確信していますか?dataTypeは'html'であるため、scriptタグを使用して何かをしている場合を除き、応答は単なる文字列です。JSONを直接返す場合は、dataType'json'を使用する必要があります。

于 2012-12-14T12:59:51.963 に答える