Zendesk:在jquery块中发出请求

时间:2014-09-16 00:05:55

标签: javascript jquery ajax zendesk

我正在写一个Zendesk应用程序。在使用jquery autocomplete选择内容后,我需要发出一个ajax请求:

twTicketsRecvd: function(data) {
  this.$("#tags").autocomplete({
    source: descriptions,
    select: function(event,ui){
      this.addTwTicket(event,ui)
    }
  });
},

addTwTicket: function(event,ui) {
  this.ajax('addMapping', 1, 12442)
  //do some other stuff
}

我得到 this.addTwTicket不是函数错误

当我在自动完成选择功能中放入 this.ajax()时,找不到 this.ajax()

这可能与JS范围有关,而不是zendesk本身,我很遗憾不熟悉。

1 个答案:

答案 0 :(得分:1)

我的猜测是,在自动填充this中可能会采用新的定义,因此您需要将其设为别名:

var _this = this;

twTicketsRecvd: function(data) {
  $("#tags").autocomplete({
    source: descriptions,
    select: function(event,ui){
      _this.addTwTicket(event,ui)
    }
  });
},

addTwTicket: function(event,ui) {
  _this.ajax('addMapping', 1, 12442)
  //do some other stuff
}