WordPress jQuery Ajax调用失败,没有响应

WordPress jQuery Ajax调用失败,没有响应,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,我正在开发WordPress插件。有许多jQueryAjax调用,除了一个调用外,所有调用都成功了。这恰好出现在onbeforeunload中,我希望这不是问题所在,但下面是代码: jQuery(window).on('beforeunload', function() { var invoiceData = { action: 'update_invoice_data', invoice_mode: jQuery('#invoice_mode').val

我正在开发WordPress插件。有许多jQueryAjax调用,除了一个调用外,所有调用都成功了。这恰好出现在onbeforeunload中,我希望这不是问题所在,但下面是代码:

jQuery(window).on('beforeunload', function() {
    var invoiceData = {
        action: 'update_invoice_data',
        invoice_mode: jQuery('#invoice_mode').val()
    };
    jQuery.ajax({
        type:"post", 
        url:ajaxurl,
        data:invoiceData,
        error:function(request, textstatus, errorThrown) {
            console.log('invoice data pass failed');
            console.log(request);
            console.log(textstatus);
            console.log(errorThrown);
        },
        success:function(result, status, xhr) {
            console.log('invoice data passed');
        },
    });
});
invoiceData变量中传递的数据更多,但即使我删除了除action='update\u invoice\u data'之外的所有数据,它仍然会失败

textstatus只是一个error,errorThrown是一个空字符串。在其他地方的头文件中,我有:

add_action('wp_ajax_update_invoice_data', 'update_invoice_data');
然后函数update\u invoice\u data在别处。在同一标题中的其他函数中,还有其他add_操作行可以正常工作,同一文件中的其他函数update_invoice_data可以正常工作

因此,我的问题是:

在onunload函数中进行Ajax调用不合法吗?如果是这样的话,有办法解决吗

如果是合法的,我做错了什么

这恰好是在onbeforeunload中,我希望这不是问题所在

这正是问题所在。请求在完成之前被中止。使其同步以解决此问题

async: false

工作得很好!我知道这很简单!: