我正在使用Rickshaw JS創建圖。要做到這一點,我創建了一個函數,它在被調用時呈現圖形。 我正面臨的問題是在腳本標記內調用時,該函數渲染一切正常,如我所料。但是,當從AJAX調用的成功函數中調用時,軸不會顯示。在AJAX成功函數中調用時,人力車JS軸呈現問題
相關的代碼片段:
<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>
我可以驗證傳遞給函數的參數是在兩種情況下相同。
你的代碼中'.bind(this)'有什麼意義?沒有什麼是你的回調函數綁定的。你的大括號也不匹配。修正你的代碼的縮進,匹配你的大括號,並解釋你期望'this'指向你的回調。 – Tomalak
目前我得到的是由_ {{plot_data}} _表示的靜態數據。現在我切換到AJAX獲取異步數據。我正在使用bind(this)將此函數附加到我創建的圖形的DOM元素。我已經更新了問題中的代碼。 – Shubham
我已經從原始代碼片段中刪除_bind(this)_,因爲我覺得它與我面臨的問題無關。 – Shubham