我使用ExtJS Direct代理,需要知道在调用方法时如何传递范围。目前我正在做这个
myapp.direct.action.mygridservice.getGridData("123",this.getSearchCbo().getValue(), function(p_,resp_){
//do something
}, this);
在java方法上我为类型为String的范围添加了第三个参数但我仍然得到一个错误" this"未定义
感谢
答案 0 :(得分:1)
1.-您传递的范围参数不是后端,而是您的回调函数。 (服务器端响应后执行的功能)
2.-如果要将更多信息传递给后端,则需要在回调函数和范围之前传递一个对象。
示例:
var jsObject = {//put all the info you need to send to the server so you dont have 50 params}
myapp.direct.action.mygridservice.getGridData("123",comboValue, jsObject someFunction, this);
传递 this 作为范围将使您能够访问一些否则无法访问的变量。
做:
console.log(this);
在你的回调函数上。
答案 1 :(得分:0)
试试这个:
loadData: function () {
RemoteManager.loadData(param1,param2, this.callbackLoadData, this);
},
callbackLoadData: function (result, e) {
var t = e.getTransaction();
var ctl = t.args[t.args.length - 1];
}
答案 2 :(得分:0)