Estoy generando imágenes en el panel de administración de WP y guardándolas en la Biblioteca de medios. Estaba funcionando perfectamente hace unos meses. Pero ahora, si estoy enviando dataurl a través de ajax, no recibo ninguna respuesta del servidor durante mucho tiempo y obtengo un error 400 o 404 después. Cuando elimino el valor de la URL de datos de la llamada ajax e intento poner una cadena o una matriz, funciona bien.
Aquí está mi 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); });
y función wp
add_action( 'wp_ajax_save_certificate', 'save_certificate' ); function save_certificate(){ print('ok'); wp_die(); }
Publique el tamaño máximo en la configuración de wp establecida en 128 MB ACTUALIZADO Tengo, que puedo enviar un lienzo que es inferior a 2 MB, o una matriz que es inferior a ese valor, pero ¿por qué no puedo enviar archivos más grandes?
Código 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); } }); });
Gancho de WordPress:
function post_word_count(){ echo "<pre>"; print_r($_POST['productid']); exit(); } add_action('wp_ajax_post_word_count', 'post_word_count');