我一直在WP-ajax上投入了一些高质量的时间(和令人头疼的事情),所以我知道你是从哪里来的。
老实说,它可能是JS代码中的错误或完全奇怪的东西,例如:
add_action(\'wp_ajax_UpdateMeta\', \'UpdateMeta\');
应更改为:
add_action(\'wp_ajax_updatemeta\', \'UpdateMeta\');
。。。删除大写字母,因为出于某种原因,当我在玩弄添加操作时,它引发了一个问题
wp_ajax
.
以下内容适用于您,我刚刚在自定义管理页面上对其进行了测试。注意,我在类中添加了一个divfeedback
如果您想返回任何数据进行测试,或将其返回给用户。
html
<form action="" method="post" id="submitform" />
<input type="hidden" name="postid" value="<?php echo $post_id; ?>" />
<input type="hidden" name="action" value="updatemeta" />
<button type="send" name="submitbtn" id="submitbtn">submit</button>
</form>
<div class="feedback"></div>
php
function updatemeta(){
$post_id = $_POST["postid"];
update_post_meta($post_id, \'helloworld\', $post_id);
die();
}
add_action(\'wp_ajax_updatemeta\', \'updatemeta\');
add_action(\'wp_ajax_nopriv_updatemeta\', \'updatemeta\');
JS公司
jQuery(\'#submitform\').submit(ajaxSubmit);
function ajaxSubmit(){
var submitform = jQuery(this).serialize();
jQuery.ajax({
type:"POST",
url: "/wp-admin/admin-ajax.php", // URL to admin-ajax.php
data: submitform,
success:function(data){
jQuery(".feedback").html(data); // empty div to show returned data
}
});
return false;
}
享受你的啤酒。:)