Wordpress上的Ajax多表格
问题描述:
我有一个问题。我有一个显示弹出窗口的论坛,当用户点击“确定”时,我使用ajax将“1”切换为“0”,并且消息不再显示。Wordpress上的Ajax多表格
这是我的功能。
`add_action('wp_ajax_profile_msg', 'profile_msg');
function profile_msg() {
global $wpdb;
global $current_user;
$user = $current_user->ID;
$wpdb->query($wpdb->prepare("UPDATE $wpdb->users SET usrmsg = '%d' WHERE ID = '%d'", '0', $user)); }`
这是我的Ajax。
`jQuery(document).ready(function($) {
$('.wordpress-ajax-form').on('submit', function(e) {
e.preventDefault();
var $form = $(this);
$.post($form.attr('action'), $form.serialize(), function(data) {
}, 'json');
}); });`
这里是我的形式
`<form class="wordpress-ajax-form" method="post" action="<?php echo AJAX_URL; ?>" ><input type="hidden" name="action" value="profile_msg">
<button id="msgbutton" >OK</button>
此代码实际工作很好,我现在有这个问题是我想补充另一种形式做同样的事情在MySQL,但一不同的问题。我尝试在js中更改动作名称和“wordpress-ajax-form”,但它似乎是在发射第一种形式,现在是我的新形式。我也会发布我的新作品。
这里是我的其他功能
`add_action('wp_ajax_remove_account', 'remove_account');
function remove_account() {
global $wpdb;
global $current_user;
$id = ThemexUser::$data['active_user']['ID'];
$table_views = $wpdb->prefix . "user_views";
$table_favorites = $wpdb->prefix . "user_favorites";
$wpdb->query($wpdb->prepare("UPDATE $wpdb->users SET removed = '%d' WHERE ID = '%d'", '1', $id)); }`
这里是我的其他Ajax
`<script>
jQuery(document).ready(function($) {
$('.wordpress-ajax-form2').on('submit', function(e) {
e.preventDefault();
var $form = $(this);
$.post($form.attr('action'), $form.serialize(), function(data) {
}, 'json');
}); });
`
这里是我的其他形式
`<form class="wordpress-ajax-form2" method="post" action="<?php echo AJAX_URL; ?>">
<input type="hidden" name="action" value="remove_account">
<button class="msgbutton" >Remove Account</button> </form>`
第一种形式的作品和第二种形式d没有工作,我是新来的,所以要温柔。
谢谢。
答
任何由wp_ajax_
(无论您的函数名是什么)调用的函数都必须以wp_die();
结尾,否则API将返回0;
我在代码中添加了这个,谢谢。 –