ExtJS Direct - 将范围传递给方法

时间:2015-06-08 16:09:36

标签: java javascript extjs ext-direct

我使用ExtJS Direct代理,需要知道在调用方法时如何传递范围。目前我正在做这个

myapp.direct.action.mygridservice.getGridData("123",this.getSearchCbo().getValue(), function(p_,resp_){
          //do something
      }, this);  

在java方法上我为类型为String的范围添加了第三个参数但我仍然得到一个错误" this"未定义

感谢

3 个答案:

答案 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)