从jquery submitForm捕获响应

时间:2013-09-16 12:51:16

标签: javascript ajax jquery yii

我有以下代码,我使用Yii框架删除一个寄存器。 这段代码是自动生成的,我想捕获它是否在对话框打开时被提交。如果ajax完成,我将保存在我的用户日志中。

jQuery(function($) {
    jQuery('body').on('click','#yt0', function(){
        if (confirm('Want to delete it?')) {
            jQuery.yii.submitForm(this,'/yiiProject/index.php?r=project/delete&id=168',{});
            return false;
        } 
        else 
            return false;
    });

    jQuery('body').tooltip({'selector':'a[rel=tooltip]'});
    jQuery('body').popover({'selector':'a[rel=popover]'});
});

2 个答案:

答案 0 :(得分:1)

我能看到的大部分内容都是覆盖confirm方法并在用户点击OK时处理大小写:

var originalConfirm = window.confirm;
window.confirm = function(msg) {
    if (originalConfirm(msg)) {
        //log...
        return true;
    }
    return false;
};

你也可以通过自己总结AJAX然后总是返回false来完全覆盖Yii自动生成的代码:

if (originalConfirm(msg)) {
    $.post("/yiiProject/index.php?r=project/delete&id=168", function() {
        //success, write to log...
    });
    return false;
}

答案 1 :(得分:0)

尝试使用全局ajax事件:

http://api.jquery.com/ajaxSuccess/

$( document ).ajaxSuccess(function( event, xhr, settings ) {
    if ( settings.url == "ajax/test.html" ) {
        $( ".log" ).text( "Triggered ajaxSuccess handler. The ajax response was: " +
        xhr.responseText );
    }
});