WordPress jQuery Ajax调用失败,没有响应
我正在开发WordPress插件。有许多jQueryAjax调用,除了一个调用外,所有调用都成功了。这恰好出现在onbeforeunload中,我希望这不是问题所在,但下面是代码: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
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
工作得很好!我知道这很简单!: