WordPress AJAX - 返回整个 HTML 标记作为响应

用户7236046

我正在尝试在 WordPress 上进行 AJAX 调用,但根本无法使其正常工作。我查看了其他一些答案,它们必须具有一定的相关性,因为这显然是同一个问题,但在我的情况下;我不知道出了什么问题。

这是我在页面上包含的代码。

PHP 包含在 require 中,并且绝对运行良好。JavaScript 也被正确包含,因为它返回了一些东西(只是不正确的东西)。

JS

jQuery(document).ready(function($) {

    $('.button').on('click', function(e) {

        e.preventDefault();

        $.ajax({

            url: MY_PLUGIN.ajax_url,
            type: 'POST',
            data: {
                action: 'add_person',
                data: 'john smith'
            },
            success: function(data) {

                console.log(data);

            }

        });

    });

});

PHP

function add_a_person() {

    $data = array('abc' => 'xyz');
    wp_send_json($data);

}
add_action('wp_ajax_add_person', 'add_a_person');

我知道目前我的 PHP 函数没有做任何事情,但我希望如果我能只返回一个简单的词,至少它是链接起来的。

我只是不明白我在这里做错了什么。为什么页面标记(HTML)被返回给我而不是我定义为要发送的数据?

比比兹

首先,您的函数名称和操作名称不匹配:

add_action('wp_ajax_add_person', 'add_a_person');

应该:

add_action('wp_ajax_add_person', 'add_person');

并尝试添加前端未记录的操作:

add_action('wp_ajax_nopriv_add_person', 'add_person');

另外,在使用 wordpress ajax 时不要使用return而是使用echo

function add_a_person() {

    // Just return this to test for now
    echo "hello";

}

这就是说,正如我最近也被告知你应该考虑使用 WP REST API,因为它更容易和更干净

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wordpress Ajax调用返回整个HTML页面

来自分类Dev

WordPress的ajax返回HTML

来自分类Dev

返回HTML作为Ajax响应

来自分类Dev

在整个网页中显示 ajax html 响应

来自分类Dev

AJAX不触发WebMethod,但成功返回整个HTML页面

来自分类Dev

我需要使用ajax调用返回整个html页面

来自分类Dev

jQuery AJAX 获取 MySQL 数据返回整个 index.html

来自分类Dev

仅允许某些HTML标记作为用户输入

来自分类Dev

将html标记作为ejs变量的值传递

来自分类Dev

仅允许某些HTML标记作为用户输入

来自分类Dev

Wordpress ajax 调用正在返回页面的 html

来自分类Dev

WordPress错误的ajax响应

来自分类Dev

如何用ajax响应替换整个html网页?

来自分类Dev

WordPress Ajax请求返回0

来自分类Dev

WordPress插件ajax返回0

来自分类Dev

Wordpress ajax 请求返回 0

来自分类Dev

Wordpress Ajax 返回 404 错误

来自分类Dev

在Wordpress中使用Ajax加载整个页面

来自分类Dev

jQuery Ajax调用未达到操作方法/未返回整个HTML页面

来自分类Dev

AJAX请求返回整个HTML页面,而不只是我想要它回显的数据

来自分类Dev

jQuery Ajax调用未达到操作方法/未返回整个HTML页面

来自分类Dev

Ajax再次返回整个页面

来自分类Dev

Extjs阻止HTML标记作为文本字段和文本区域中的输入

来自分类Dev

Wordpress AJAX呼叫响应0

来自分类Dev

Wordpress 使用查询作为 AJAX

来自分类Dev

Ajax发布返回HTML

来自分类Dev

返回没有CSS / JS干扰的AJAX HTML响应

来自分类Dev

如何使用AJAX将PHP响应返回到HTML页面

来自分类Dev

AJAX返回预期的响应,但不反映HTML