Este a continuación es el código ajax en javascript para wordpress. Wordpress recomienda jQuery, pero uso el código que se describe a continuación y necesito este (no jQuery). Ajax envía el código y lo guarda en la base de datos, funciona correctamente (lo probé), pero si quiero recuperar la respuesta del servidor (this.responseText)..., no obtengo ninguna respuesta, solo un vacío alerta. ¿Por qué?
algunapagina.php:
<?php add_action( 'admin_footer', 'my_action_javascript' ); // Write our JS below here function my_action_javascript() { ?> <script> // Upload file var sendtext = "sendreceive"; var formData = new FormData(); formData.append("SENDTEXT", sendtext); formData.append("action", "my_action_send_receive"); // Send request with data var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { alert("response from server"+this.responseText); } } xmlhttp.open("POST", "<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>", true); xmlhttp.send(formData); </script> <?php } ?>funciones.php:
<?php add_action( 'wp_ajax_my_action_send_receive', 'send_receive' ); function send_receive() { if(isset($_POST['SENDTEXT'])){ $sendtext = $_POST['SENDTEXT']; $response = $sendtext; echo $response; } exit; wp_die(); } ?>