我正在使用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>
我可以验证传递给函数的参数在两种情况下都是相同的。
答案 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>