为什么我的 WordPress AJAX 调用返回 0?

Barbara Streisand
发布: 2024-11-01 14:05:02
原创
396 人浏览过

Why is my WordPress AJAX call returning 0?

WordPress 中的 Ajax 调用:输出问题故障排除

您的 ajax 调用始终返回 0 作为输出,这让您对原因感到困惑。要解决此问题,请考虑以下事项:

WordPress 中的全局 ajaxurl 变量:

WordPress 在后端定义了全局 ajaxurl 变量,以方便 AJAX 调用。但是,该变量在前端中不可用。

在前端定义ajaxurl:

要在前端使用AJAX调用,您需要手动定义ajaxurl变量。一种有效的方法是通过 wp_localize_script。

使用 wp_localize_script:

假设您的 AJAX 调用驻留在 my-ajax-script.js 中,请按如下方式使用 wp_localize_script:

function my_enqueue() {
    wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );
登录后复制

这将创建一个 my_ajax_object JS 文件中的对象,其中包含 ajax_url。

在 Javascript 中使用 my_ajax_object:

本地化脚本后,在 JS 文件中使用 my_ajax_object 对象:

<code class="js">jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});</code>
登录后复制

以上是为什么我的 WordPress AJAX 调用返回 0?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!