Cum să transmiți un parametru de date către o funcție handler pentru acțiuni Ajax
Am următorul cod JavaScript pentru procesarea unei cereri 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);
});
});
Și aceasta este funcția mea handler pentru ajax (sper că folosesc terminologia corectă):
add_action('wp_ajax_get_coke', 'get_coke_ajax');
function get_coke_ajax() {
// trebuie să obțin another_par aici !!!!!!!
die();
}
După cum puteți vedea, acțiunea este load_post
ceea ce e în regulă, dar am nevoie să transmit parametrul another_par
către funcția mea ajax astfel încât să pot atribui valoarea sa unei variabile și să o folosesc în scopurile mele.

Când folosești jQuery.post()
, datele data
sunt trimise ca argumente obișnuite $_POST
.
Deci acest JavaScript …
var data = {
action: 'load_post',
foo: 'bar'
};
… este disponibil în funcția ta de callback astfel:
$action = $_POST['action'];
$foo = $_POST['foo']; // bar
Și când folosești jQuery.get()
, datele sunt în $_GET
. Poți folosi și $_REQUEST
care returnează atât datele GET
, cât și POST
(și COOKIE
). Dar ar trebui să ceri întotdeauna resursa specifică pentru a evita injecții din surse pe care nu le așteptai, cum ar fi un cookie.

Scuze, WordPress-ul meu scapă de intrare atunci când este json_encoded. Unele slash-uri sunt adăugate în fața caracterelor ".
https://wpartisan.me/tutorials/wordpress-auto-adds-slashes-post-get-request-cookie
