我在dojo中获取not a function error
函数的callChart
。我正在开发一个网站,它使用 excanvas 在浏览器上绘制一些图表。
在页面加载时,我有一个Ajax调用,它获取一些数据库值并将它们传递给callChart:function()
,这个callChart函数调用excanvas进行制图。但在这里我得到了callChart is not a function
。
代码段如下所示:
onload我正在执行
drawChart : function(){
this.chart(true);
},
chart: function(flag){
dojo.xhrPost( {
url : "/charting.html",
load : function(data){
loadChart(data);
},
error : function(error){
console.error(" occured while fetch chart" );
}
} );
成功回调方法
loadChart : function(response){
this.callChart(response);
},
这是我的callChart,
callChart:function(chartData){
----
----
},
当我调用this.callChart(响应)时,我收到了firebug错误“this.callChart(response) is not a function
”。
非常感谢任何帮助,指导或建议。
答案 0 :(得分:1)
你的“this”是回调机制(dojo.Deferred)。使用dojo.hitch来修复上下文:
chart: function(flag){
dojo.xhrPost( {
url : "/charting.html",
load : dojo.hitch(this, function(data){ // changed this line
this.loadChart(data); // added "this"
}); // close paran
}