将对象数据传递给jQuery.post后继函数

时间:2013-01-17 12:05:22

标签: javascript jquery

我希望通过jQuery.post后继函数接收的数据填充该类实例的this.item。我能够使用另一个用户定义的函数来设置this.item和接收到的数据。

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

以下是代码段

内部类原型功能: -

   this.item = new Array();

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

谢谢

2 个答案:

答案 0 :(得分:2)

你可以做到

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

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

OR

 this.item = new Array();

   jQuery.ajax(
         {url: "index.php?p=getdataitem", 
          context: this,
          success: function(item_str_data)
              {
                ...
                this.item = ....;   
                ...
              }
         }
   );

答案 1 :(得分:0)

试试这个:

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

  function() {

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

   }();

由于封闭,我们复制的this引用(that)应该可用于帖子的内部函数。