我有一个接受一些参数并将其转发到打印方法的函数。
getPrintAction: function () {
return new Ext.Action({
scope : this,
handler : function () {
var printRenderer = new BaseRenderer;
var data = [...];
var printData = [...];
printRenderer.print(printData);
}
});
}
虽然这很完美,但是当我添加Ajax请求时,整个过程就坏了。
getPrintAction: function () {
return new Ext.Action({
scope : this,
handler : function () {
var printRenderer = new BaseRenderer;
var data = [...];
Ext.Ajax.request({
scope : this,
params : {...},
success: function (result) {
var printData = [...];
printRenderer.print(printData);
},
failure: callback()
});
}
});
}
我试图设置断点,因为我认为新的printData
可能会导致错误。但是事实并非如此,printData
从回调中解析result
,结果很好。我正在获取正确的数组以转发到print()
方法。
最终在这里失败:
print: function (component) {
var win = window.open('','print');
win.document.write(component); <--- HERE
win.document.close();
}
如果我要从请求那里将win
变量设置为null
的位置。
我想这可能是范围问题,但我不知道如何调试...