Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果包含ajax,则回调失败_Javascript_Jquery - Fatal编程技术网

Javascript 如果包含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

我正在尝试向jquery插件nitelite中预先存在的函数添加一个回调-回调工作正常-除非回调中有ajax

关闭功能的适当部分:

// 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。谢谢