我有一个 Wordpress 列表表,每一行都有删除的选项。单击时<a class="delete_gallery" href="&action=delete">
会弹出一个 jQueryUI 对话框。确认操作时,会发生 ajax 或其他什么,并处理一些服务器端的东西。成功后,我希望刷新页面并显示一条 wordpress 消息,说明删除成功。
我希望页面刷新的原因是因为我的 WP_List_Table 没有 ajaxified,我需要看到更改。
页面刷新后如何显示消息?我目前的方式在调用刷新后立即显示消息。我不想要延迟或任何东西:一旦单击对话框中的确认,我希望页面刷新,发生服务器端的事情,然后显示成功消息。
这是我的一些代码,为简单起见,删除了服务器端 var/info。注意:我使用的是 Wordpress 内置的 Ajax。
jQuery(".delete_gallery").click(function(event) {
event.preventDefault();
var link = jQuery(this).attr('href');
var link = link.substring(0, link.indexOf('?'));
jQuery("#deleteconf").dialog({
height: 150,
width: 350,
resizable : false,
modal: true,
buttons: {
"Delete all items": function() {
jQuery(this).dialog("close");
jQuery.post(
MyAjax.ajaxurl,
{
action : 'delete_gallery',
postCommentNonce : MyAjax.postCommentNonce,
},
function(response) {
window.location.reload(link);
jQuery('#message p').html('The gallery was deleted successfully');
jQuery('#message').show();
}); return false;
},
Cancel: function() {
jQuery(this).dialog("close"); return false;
}
}
});
});
这是最好的方法吗?如果是这样,我如何在刷新后显示消息。如果没有,最好的方法是什么?我真的很想使用 jQueryUI,我不希望有人必须单击“好的,项目已删除”来刷新页面并显示更改。
我有类似的东西,但它使用表单和 php 来捕获按钮提交 $_POST,我不确定在使用 jQueryUI 按钮时是否可行。无论哪种方式,它都不会处理刷新后的响应。
谢谢,我感谢所有帮助。