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) は投稿の内部関数で使用できるはずです。

于 2013-01-17T12:07:43.103 に答える