在 AJAX 成功函数中调用时人力车 JS 轴呈现问题
Rickshaw JS axis render issue when called within AJAX success function
我正在使用 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>
我可以验证传递给函数的参数在两种情况下都是相同的。
不确定它是如何修复的或潜在的问题是什么,但修复(至少现在)是将脚本移动到 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>
我正在使用 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>
我可以验证传递给函数的参数在两种情况下都是相同的。
不确定它是如何修复的或潜在的问题是什么,但修复(至少现在)是将脚本移动到 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>