我试图实现WP AJAX在我的一个副开发插件在WP主题成功实施后。
function deactivate_ad() {
if( isset( $_POST['id'] ) ) {
echo $_POST['id'];
echo 'Deactivated';
die;
} else {
echo 'Sorry, not done';
die;
}
wp_die(); // ajax call must die to avoid trailing 0 in your response
}
add_action('wp_ajax_deactivate_ad', 'deactivate_ad');
//add_action( 'wp_ajax_nopriv_deactivate_ad', 'deactivate_ad'); //not logged in users
和地方的作用下,我将自己的动态ID形式:
<form action="" enctype="multipart/form-data" method="post">
<script type="text/javascript">
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
jQuery(document).on('click', '.deactivate-ad', function () {
var id = this.id;
alert(id);
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {
"action": "deactivate_ad",
"id": id
},
success: function (data) {
alert(data);
}
});
});
</script>
<?php
//after the db Query, within the foreach loop
foreach( $ad_query as $the_ad ){
$element_id = 'deactivate_' . $the_ad->id . '_' . wp_create_nonce('deactivate_' . $the_ad->id );
// I'm just checking with the 'Deactivate' button first
echo ( $the_ad->ad_status == 1 ? '<a class="deactivate-ad" href="#" id="'. $element_id .'">Deactivate</a>' : '<a href="?page=site-ad&id='. $the_ad->id .'&activate=true&success=true">Activate</a>' );
}
?>
</form>
我只是想激活AJAX,这样我可以做我想做的事情呢。 但随着第一alert(id)
我可以提醒id
与成功的随机数,但alert(data)
它总是返回0
(零)。
我入队了最新的jQuery( http://code.jquery.com/jquery-latest.min.js开头),并检查所有实例。 我在做什么错了这一次 - 我收购了一个主题工作的过程 - 我之前的工作。