इसलिए मैं प्रशासनिक क्षेत्र में AJAX कॉल के लिए इस कॉन्फ़िगरेशन का उपयोग कर रहा हूं ( जैसे ):
add_action( 'admin_head', 'ajaxPerNgg' );
function ajaxPerNgg(){ ?>
<script type="text/javascript" >
jQuery(document).ready(function() {
jQuery("#message").remove();
jQuery("#errore a#attivo").click(
function(){
var data = {
action: 'my_action'
};
jQuery.post(ajaxurl, data, function(response) {
if(response == "attivato")
jQuery("#errore a#inattivo").attr("id","completato").html("Attivato");
else
jQuery("#errore a#inattivo").attr("id","attivo").html("Attivalo ora");
});
}
);
});
</script>
<?php }
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
echo 'attivato';
die();
}
यह सिर्फ एक परीक्षण कोड है, लेकिन यह हमेशा स्ट्रिंग "अटिवेटो" के बजाय 0 वापस करता है। यह भी अजाक्स यूआरएल को सही ढंग से ढूंढता है, 404 त्रुटि के बिना।
समस्या क्या है?
wp_ajax_my_action
, "my_action" भाग के प्रत्यय को jQuery पोस्ट में उपयोग की गई क्रिया से मेल खाना चाहिए। मैं देखता हूं कि आपका मेल खाता है, इसलिए आपके मामले में यह समस्या नहीं है। मेरे पास यह एडमिन पेज से भी काम कर रहा है, जो आप करना चाह रहे हैं। क्या आप इस ajax कॉल करने का प्रयास करते समय लॉग इन हैं? या आप लॉग आउट हैं?