Javascript 如果包含ajax,则回调失败
我正在尝试向jquery插件nitelite中预先存在的函数添加一个回调-回调工作正常-除非回调中有ajax 关闭功能的适当部分:Javascript 如果包含ajax,则回调失败,javascript,jquery,Javascript,Jquery,我正在尝试向jquery插件nitelite中预先存在的函数添加一个回调-回调工作正常-除非回调中有ajax 关闭功能的适当部分: // Blah blah ... else { showFlash(); this.overlay.remove(); this.container .empty() .remove(); $(this).triggerHandler('close'); // Add callbac
// Blah blah ...
else {
showFlash();
this.overlay.remove();
this.container
.empty()
.remove();
$(this).triggerHandler('close');
// Add callback
if (typeof callback == "function") {
callback();
}
}
return this;
回拨:
lb.close(undefined, 'click', function() {
$.ajax({
type: 'POST',
url: url,
data: {submit: $(this).val()},
dataType: 'json',
success: function(data) {
lightbox('Lightbox 2', '<p>Oh hi</p>', 'lightbox2');
}
});
});
lb.close(未定义,'click',函数(){
$.ajax({
键入:“POST”,
url:url,
数据:{submit:$(this.val()},
数据类型:“json”,
成功:功能(数据){
灯箱(‘灯箱2’,‘哦,嗨’,‘灯箱2’);
}
});
});
谢谢我怀疑您的回调引发了异常
调用时,
this
的值应该是多少?你确定它指向的是一个jQuery兼容的元素,它有一个.val()
方法吗?你能拿出一个演示(jsfiddle.net?)来展示这个行为吗。empty和.remove应该在DOM更新之后才返回。噢,废话,我的演示工作:/Edited question,因为它工作正常-除非回调包含ajax!?您的意思是,如果没有ajax请求,您需要回调否回调是ajax,它会从控制器获取内容,然后使用内容创建一个lightbox。嗯,可能-但是删除数据:{submit:$(this).val()},
没有任何效果。它引发了一个异常-错误的url。谢谢