Sono relativamente nuovo in particolare per jQuery e AJAX. Ho un piccolo problema con il valore restituito sempre pari a 0, anche se penso che questo sia in realtà il messaggio di successo e non restituisce nulla.
Ho analizzato il versetto di Google e ho la funzione die () sul callback di PHP e credo che le add_actions siano corrette.
Sto lavorando su un host locale, anche se dubito che ciò influisca e questo è tutto nell'amministratore, non nel front-end. Ho anche verificato che js sia accodato e localizzato.
Ricevo un messaggio 200 OK nell'area sviluppatore di Chrome.
Ho anche provato l'AJAX di base da http://codex.wordpress.org/AJAX_in_Plugins e ha anche restituito 0, il che mi fa chiedere se è qualcosa di diverso dal codice indicato di seguito.
In questo momento sto solo cercando di farlo inviare qualcosa a jQuery. Qualsiasi aiuto sarebbe apprezzato.
Il jQuery
jQuery(document).ready(function(){
jQuery('.cl_link_buttons').val('id').click(function() {
var currentid = jQuery(this).attr('id');
//alert(currentid);
console.log(currentid);
jQuery.ajax ( data = {
action: 'cleanlinks_ajax_get_post_data',
url: ajaxurl,
type: 'POST',
dataType: 'text',
"currentid" : currentid
});
jQuery.post(ajaxurl, data, function(response) {
var dataz = response;
alert( dataz );
console.log (dataz); //show json in console
});
return false;
}); //end click event
}); //end doc ready
Il PHP
add_action("wp_ajax_cleanlinks_ajax_get_post_data", "cleanlinks_ajax_get_post_data");
add_action("wp_ajax_nopriv_cleanlinks_ajax_get_post_data", "cleanlinks_ajax_get_post_data");
function cleanlinks_ajax_get_post_data() {
$from_ajax = $_POST['currentid'];
echo "do" . $from_ajax . "something";
die();
}
jQuery('.cl_link_buttons').val('id').click(function()
sembra strano.