2014-03-27 50 views
0

嗨,我知道这已被问了几次,但我已经通过每个答案,并尝试所有都没有运气。Wordpress FrontEnd Ajax返回0使用主题

我想在Wordpress前端页面中使用Ajax,我在页面中有安全性以确保用户在他们也可以查看此页面之前登录。

无论输入怎样的代码我的Ajax调用总是返回0

function ajaxfoodlookup() 
{ 
    echo "ajax fired"; 
    die(); 
} 
add_action('wp_ajax_nopriv_ajaxfoodlookup','ajaxfoodlookup'); 
add_action('wp_ajax_ajaxfoodlookup','ajaxfoodlookup'); 

这是我在我的functions.php(我也有尝试过退出();和模具($结果),其中$结果=“AJAX解雇”;似乎没有任何工作

这是我在页面调用AJAX;

jQuery.ajax({ 
     url: '/wp-admin/admin-ajax.php', 
     type: 'POST', 
     data: { action:'ajaxfoodlookup'}, 
     success: function (data) { alert(data);} 
    }); 

我有其他的问题/解答唯一不同的在这里是我的一个m使用已添加了一些代码的已购买主题是否能够劫持我的ajax调用?我认为wordpress会根据提供的数据中的“操作”执行ajax调用?

请帮助它让我疯狂?

感谢

回答

0

WordPress官方的建议是使用ajaxurl变量,而不是硬编码之一。在您的JS代码前插入此代码,并将jQuery.ajaxurl更改为使用ajaxurl

<script type="text/javascript"> 
    var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; 
</script> 

您还可以使用wp_localize_script定义ajaxurl

+0

精彩原来如此! – Jonk