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 的单个时间条目。

我尝试使用 setData() 和 draw() 方法调用,但它们不能解决问题。

如萤火虫所示,没有抛出 javascript 错误。那么,我做错了什么?

蒂亚!

4

1 回答 1

2

您确定回复有效吗?您的 dataType 是“html”,因此除非您使用脚本标签做某事,否则响应只是一个字符串。如果您直接返回 JSON,那么您需要使用 dataType 'json'。

于 2012-12-14T12:59:51.963 回答