【问题标题】:Wordpress FrontEnd Ajax return 0 using ThemeWordpress FrontEnd Ajax 使用主题返回 0
【发布时间】:2014-05-07 03:03:57
【问题描述】:

您好,我知道这个问题已经被问过好几次了,但我已经回答了每一个问题,但都没有运气。

我正在尝试在 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 中的内容(我也尝试过 exit(); 和 die($results) where $results = 'ajax failed'; 似乎没有任何效果。

这是我在页面中调用的ajax;

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

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

请帮助它让我发疯?

谢谢

【问题讨论】:

    标签: ajax wordpress themes frontend


    【解决方案1】:

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

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

    您也可以使用wp_localize_script 来定义ajaxurl

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-06
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多