Cómo pasar parámetros de datos a un manejador de función de acción Ajax
Tengo el siguiente código JavaScript para procesar una petición Ajax:
$('#someelement').click(function() {
var cokeValue = 'coke';
var data = {
action: 'load_post',
another_par: someVar
};
jQuery.post(ajax_object.ajax_url, data, function(response) {
alert(response);
});
});
Y esta es mi función manejadora de Ajax (espero que mi terminología sea correcta):
add_action('wp_ajax_get_coke', 'get_coke_ajax');
function get_coke_ajax() {
// necesito obtener another_par aquí !!!!!!!
die();
}
Como pueden ver, la acción es load_post
lo cual está bien, pero necesito pasar el parámetro another_par
a mi función Ajax para poder asignar su valor a una variable y usarla para mis propósitos.

Cuando usas jQuery.post()
, los data
se envían como argumentos regulares de $_POST
.
Así que este JavaScript …
var data = {
action: 'load_post',
foo: 'bar'
};
… está disponible en tu función de callback mediante:
$action = $_POST['action'];
$foo = $_POST['foo']; // bar
Y cuando usas jQuery.get()
, los datos están en $_GET
. También puedes usar $_REQUEST
, que devuelve tanto datos GET
como POST
(y COOKIE
). Pero siempre deberías solicitar el recurso específico para evitar inyecciones desde fuentes que no esperas, como una cookie.

Lo siento, mi WordPress escapa la entrada cuando se codifica en json. Se añaden algunas barras invertidas delante de los caracteres ".
https://wpartisan.me/tutorials/wordpress-auto-adds-slashes-post-get-request-cookie
