我使用Wordpress和自定义页面(ajax-handler)在一个简单的模态对话框中打开每个帖子,但是发生了一些奇怪的事情。该代码在我的本地主机上运行良好,但是当它在服务器上时,每次我点击帖子打开它时,服务器都会返回404(未找到)错误。
我遵循this教程,这是我的代码:
$('#content article').on('click', function(e){
var id = $(this).attr('rel');
$('<div id="popup"></div>').hide().appendTo('body').load('<?php echo home_url(); ?>/ajax-handler/?id='+id).modal({ });
});
我已经尝试过在没有/之前更改路径了?并尝试使用文件名末尾的“.php”
它们都不像localhost那样工作。有什么想法吗?
非常感谢!
答案 0 :(得分:0)
实际上,我对你在localhost上运行的代码感到有些惊讶。也许与你的.htaccess有关。
在WordPress中执行Ajax的标准方法是将请求发送到标准WP Ajax处理程序,如下所示:
$('#content article').on('click', function(e){
var id = $(this).attr('rel');
$('<div id="popup"></div>').hide().appendTo('body').load( '<?php echo admin_url('admin-ajax.php'); ?>, {id: id}).modal({ });
});
然后添加一个动作来处理ajax调用。如果您的应用程序是前端应用程序(如图所示),那么这将是:
function ajax_handler() {
if ($_POST['id']) {
// Probably something like what you already have
}
}
add_action( 'wp_ajax_nopriv_my_action', 'ajax_handler' );