我正在使用taggle.js的ajax调用来检查数据库的类型化标记值。标记文档指定return false
事件上的onBeforeTagAdd
以防止添加标记,但我知道无法使用ajax,因为它是异步的。我已经看到其他SO问题表明承诺使函数依赖于ajax响应,但是当ajax调用在依赖于它的响应的父函数内时,我很难理解我是如何使用promises的。 - 有人可以提供建议吗?这是带有ajax调用的代码:
new Taggle('tagexample', {
onBeforeTagAdd: function(event, tag) {
// return false here would prevent tag from being added
$.ajax({
method:"POST",
url:"inputcheck.php",
data:"tag="+tag,
dataType:"html",
success:function(result){
alert(result);
if (result == 'no') {
// return false here won't work
}
}
});
},
});
答案 0 :(得分:-1)
Taggle将需要支持onBeforeTagAdd方法上的promises,从中查看它不会。
我能想到的唯一可行的方法就是返回false(在进行ajax调用之后),然后动态创建标签,如果是的话。
new Taggle('tagexample', {
onBeforeTagAdd: function(event, tag) {
$.ajax({
method:"POST",
url:"inputcheck.php",
data:"tag="+tag,
dataType:"html",
success:function(result){
alert(result);
if (result == 'yes') {
// create tag
}
}
});
return false;
},
});