我似乎无法找到一种方法让django-dajaxice在同一作用域对象中进行回调,从而进行初始调用。
MyViewport = Ext.extend(MyViewportUi, {
initComponent: function() {
MyViewport.superclass.initComponent.call(this);
},
LoadRecordsCallback: function(data){
if(data!='DAJAXICE_EXCEPTION')
{ alert(data); }
else
{ alert('DAJAXICE_EXCEPTION'); }
},
LoadRecords: function(){
Dajaxice.Console.GetUserRecords(this.LoadRecordsCallback);
}
});
var blah = new MyViewport();
blah.LoadRecords();
我在django上,就像django-dajaxice的调用语法一样。我正在使用Extjs 3.2并试图传递一个Ext.createCallback但是Dajax的返回eval似乎只想要一个回调字符串。
答案 0 :(得分:1)
BozoJoe,这应该可行。
MyViewport = Ext.extend(MyViewportUi, {
initComponent: function() {
MyViewport.superclass.initComponent.call(this);
},
LoadRecordsCallback: function(data){
if(data!='DAJAXICE_EXCEPTION')
{ alert(data); }
else
{ alert('DAJAXICE_EXCEPTION'); }
},
LoadRecords: function(){
Dajaxice.Console.GetUserRecords('blah.LoadRecordsCallback');
}
});
var blah = new MyViewport();
blah.LoadRecords();
答案 1 :(得分:0)
我根本不熟悉django,但我想我理解这个问题。
似乎API要求您传递一个字符串,该字符串将作为函数调用进行评估,因此您必须传递函数的名称,而不是函数本身。
这反过来意味着它必须是在窗口范围内有意义的名称 - 在Ext类之外定义的函数(例如“myGlobalFunction”),或Ext类的成员函数,可以作为变量(例如“window.blah.LoadRecordsCallback”)