1

我希望 this.item 类的实例由通过 jQuery.post 后继函数接收的数据填充。我可以使用另一个用户定义的函数来设置 this.item 与接收到的数据来做到这一点。

问题:有没有办法在 jQuer.post() 的后继函数中设置 this.item 而不使用任何其他用户定义的函数?

以下是代码片段

内部类原型函数:-

   this.item = new Array();

   jQuery.post("index.php?p=getdataitem", fileobj,function(item_str_data)
              {
        ...
        this.item = ....;   
                ...
              }
   );

谢谢你

4

2 回答 2

2

你可以做

 this.item = new Array();
var instance = this;

   jQuery.post("index.php?p=getdataitem", fileobj,function(item_str_data)
              {
        ...
        instance.item = ....;   
                ...
              }
   );

或者

 this.item = new Array();

   jQuery.ajax(
         {url: "index.php?p=getdataitem", 
          context: this,
          success: function(item_str_data)
              {
                ...
                this.item = ....;   
                ...
              }
         }
   );
于 2013-01-17T12:08:40.870 回答
0

试试这个:

  var that = this;
  var that.item = [];

  function() {

      jQuery.post("index.php?p=getdataitem", fileobj,function(item_str_data) {
        ...
        that.item = ....;   
        ...
      });

   }();

由于闭包,this我们复制的引用 ( that) 应该对 post 的内部函数可用。

于 2013-01-17T12:07:43.103 回答