为什么我不能通过ajax传递数据URL到wordpress函数



我在WP管理面板上生成图像并将其保存到媒体库。几个月前我工作得很好。但现在,如果我通过ajax发送dataurl,我没有从服务器收到任何答案很长一段时间,并获得400错误或404后。当我从ajax调用中删除数据url值并尝试放置字符串或数组时,它可以正常工作。

这是我的ajax:

var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
var dataURL  = canvas.toDataURL();
var data = {
'action'   : 'save_certificate',
'dataURL'  : dataURL
};
jQuery.post(ajaxurl, data).done(function( response ) {
console.log(response); 
}).fail(function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
}).catch(function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
});

和wp功能

add_action( 'wp_ajax_save_certificate', 'save_certificate' ); 
function save_certificate(){        
print('ok');
wp_die();
}

wp配置上的Post最大大小设置为128MB我可以发送小于2mb的canvas,或者小于2mb的array,但为什么不能发送更大的文件呢?

jQuery代码:

jQuery(".add_to_queue").click(function(){
var product_id = jQuery('input[name="product_id"]').val();
var variation_id = jQuery('input[name="variation_id"]').val();

var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
jQuery.ajax({
type: 'POST',
url: ajaxurl, 
data: {"action": "post_word_count", "productid":product_id, "variationid":variation_id},
success: function(response){
console.log(response);
}

});
});
WordPress Hook:
function post_word_count(){
echo "<pre>";
print_r($_POST['productid']);
exit();
}
add_action('wp_ajax_post_word_count', 'post_word_count'); 

最新更新