我正在编写一个 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/