javascript - Zendesk:从 jquery block 内发出请求

标签 javascript jquery ajax zendesk

我正在编写一个 Zendesk 应用程序。我需要在使用 jquery 自动完成选择某些内容后发出 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 is not a function 错误

当我将 this.ajax() 调用放入自动完成选择函数中时,找不到 this.ajax()

这可能更多地与 JS 作用域有关,而不是与 zendesk 本身有关,不幸的是我对此不太熟悉。

最佳答案

我的猜测是,在自动完成中 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
}

关于javascript - Zendesk:从 jquery block 内发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858760/

相关文章:

javascript - 单击按钮不触发

javascript - Node.js 奇数计数错误

javascript - jquery 选择器 - 选择不在另一个嵌套标签内的值

javascript - 检测 "Missing Video"YouTube 图片

jquery - jQuery 的 $.get() 调用不受信任的 URL 是否安全?

javascript - 正则表达式仍然允许末尾有小数

javascript - 如何使用修改后的规则在 Atom 中自动启动 ESLint?

javascript - 如何使用 PHP、MySqL 和 JQuery 将动态字段的值插入数据库

javascript - 如何正确处理ajax超时

javascript/jquery 数组交互在 .on ("click"之后不起作用)