在AJAX成功函数

时间:2016-08-22 13:25:14

标签: javascript ajax axes rickshaw

我正在使用Rickshaw JS创建一个图表。为此,我创建了一个函数,在调用时渲染图形。 我面临的问题是在脚本标签内调用时,该函数可以像我期望的那样呈现一切正常。但是,当从AJAX调用的成功函数中调用时,轴不会显示。

相关代码段:

<script>
function ProbabilityPlot(a) {
    var graph = new Rickshaw.Graph({
       ...
    });
    graph.render();

    var xAxis = new Rickshaw.Graph.Axis.X({
       ...
    });
    xAxis.render();

    var yAxis = new Rickshaw.Graph.Axis.Y({
       ...
    });
    yAxis.render();
};

$.ajax({
    url: plotURl,
    dataType: 'json',
    cache: false,
    success: function(data) {
        ProbabilityPlot([ {{plot_data}} ]); <-- axes do NOT work
    }
});

ProbabilityPlot([ {{plot_data}} ]); <-- eveything works perfectly
</script>

我可以验证传递给函数的参数在两种情况下都是相同的。

1 个答案:

答案 0 :(得分:0)

不确定它是如何修复的或底层问题是什么,但修复(至少现在)是将脚本移动到html的头部。

<script src="{% static "Home/js/vendor/jquery.js" %}"></script>
<script src="http://code.shutterstock.com/rickshaw/vendor/d3.v3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.15/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.5.1/rickshaw.min.js"></script>