我试图弄明白为什么我的Ajax响应总是0。我试图根据点击链接的ID将元数据加载到Jquery UI对话框中。所有这些都是在一个单一的。php模板文件-不确定这是否是原因。
这是我的代码(为空格编辑):
jQuery( \'#meta-dialog-box\' ).dialog({
width: "500px",
autoOpen: false,
show: "blind",
hide: "explode",
resizeable: false,
draggable: false,
modal: true,
position: "center",
closeText: "X",
dialogClass: "co-meta-dialog-wrapper"
});
jQuery(\'a.co-meta-dialog\').click(function(){
var id = $(this).attr(\'id\');
var taxonomy = id.replace("co-","");
taxonomy = taxonomy.replace("-dialog","");
var title = $(this).text();
jQuery( "#meta-dialog-box" ).dialog( "option", "title", title );
jQuery( "#meta-dialog-box" ).dialog( "open" );
jQuery( "#meta-dialog-box" ).html( \'<img width="62px" height="62px" style="margin:0 auto;" src="<?php bloginfo(\'template_directory\');?>/images/loading.gif" alt="loading..." />\' );
//$( "#meta-dialog-box" ).html(\'Meta Dialog Box For: \' + id);
switch( id ){
case \'co-location-dialog\':
dialog_action = \'show_co_location_dialog\';
break;
case \'co-contact-dialog\':
dialog_action = \'show_co_contact_dialog\';
break;
//and so on....
default:
break;
}//end switch
jQuery.post(
UiAjax.ajaxurl,
{
action : dialog_action,
postid: \'<?php echo $postid; ?>\',
tax: taxonomy
},
function( response, data, status ) {
jQuery(\'#meta-dialog-box\').html(response);
//alert(data + \' \' + status);
}
);
return false;
});
我已经检查了Firebug,我的操作正在正确完成。因此,我的PHP回调似乎没有正确启动。我所有的回调PHP函数都有die();在他们的最后。并设置为打印元数据。我试着回音并返回,但仍然没有成功。
我的函数中包含所有ajax操作。php文件如下:
//location|address
add_action(\'wp_ajax_show_co_location_dialog\', array(\'DS_Lingerie\',\'get_dialog_address\') );
//contact info
add_action(\'wp_ajax_show_co_contact_dialog\', array(\'DS_Lingerie\',\'get_dialog_contact_info\') );
我是否需要设置一个插件来执行此操作?还是我完全错过了什么?我已经把头撞在墙上6个小时了,弄不清楚我到底做错了什么。
非常感谢您的帮助!我可能需要重新考虑如何进行设置,可能需要使用不同的模式/对话框功能或类似的功能。欢迎提出建议和见解!提前谢谢。