如何为 WordPress Ajax $_POST 数据获取正确的 php 数组格式?

韵律

我是第一次在 WordPress 中实现 ajax,但在这里遇到了一个块,我无法弄清楚这个问题。任何帮助表示赞赏。

所以我基本上是在尝试将数据传递给 WordPress 中的 ajax 回调。

JS:

    window.utils.http({
      method: 'POST',
      url: ajaxurl + '?action=ajax_submit',
      json: true,
      headers: {
        'Content-Type': 'application/json'
      },
      data: {
        test: 'testing123',
        quiz_results: {
          'a': 1,
          'b': 4,
          'c': 2
        }
      },
      onload: (response) => {
        console.log(response);
      },
    })

注意:即使使用 jQuery 的 ajax 函数,我也会遇到同样的问题

函数.php :

    function ajax_submit() {
        print_r($_POST);

        wp_die();
    }

    add_action('wp_ajax_ajax_submit', 'ajax_submit');
    add_action('wp_ajax_nopriv_ajax_submit', 'ajax_submit');

我的 JS 控制台日志响应:

Array
(
    [{"test":"testing123","quiz_results":{"a":0,"b":0,"c":0}}] => 
)

如您所见,php 数组的格式不正确,我也无法选择值。如果我echo $_POST['test']echo $_POST[0]->['test']我一无所获。

谢谢

乔伊·库马尔·贝拉

有时您无法通过 superglobal 访问数据$_POST在您的情况下,ajax_submit像这样修改您的功能

function ajax_submit() {
    // reading raw data from request body
    $data = file_get_contents("php://input");
    $data = json_decode($data, true);
    
    wp_send_json( $data, 200);
    wp_die();
}

有关更多信息,请参阅答案

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过 post、ajax、php、jquery 从 FORM 获取多维数组?

如何使用PHP以正确的格式获取JSON数据

如何在WordPress / PHP中格式化数组

PHP:如何为$ _POST数组设置默认值?

如何使用PHP制作正确的数组格式

WordPress-针对个人POST,而不是POST类型。AJAX / PHP

使用 PHP Ajax 在 POST 上检索数组数据

我无法使用ajax在WordPress中从JS到PHP获取$ _POST

如何在ajax请求页面wordpress中接收数组数据

如何使用 ajax .post() 将数据传递给 php

Ajax POST 工作正常,但 php 文档无法获取数据变量

通过POST从ajax调用PHP页面获取JSON数据

Ajax Post to PHP返回空数组

无法获得格式正确的AJAX POST请求

如何在wordpress中用php写ajax?

PHP从Twitter数组中获取正确的数据

如何为从PHP数组获取的表制作滚动视图

如何从php mysql数据库中获取数组格式的数据

与$ .ajax发送数据后如何从$ _POST中获取数据

如何:正确使用PHP将数据编码为JSON格式,并使用jquery / ajax请求数据

PHP/Wordpress 如何从数组中获取键/索引值

如何从wordpress ajax搜索表单中获取数据?

PHP:定位特定的JSON数组并正确附加POST数据?

如何在php中通过POST获取数据JSON多数组

无法在 PHP 中接收 AJAX POST 数据

如何获取从数据库生成的php数组到ajax变量中

PHP代码无法在Wordpress中读取正确的post_type数据

如何从MVC ViewModel获取输入数据到Ajax Post

如何将$ _POST值与Ajax和PHP中的数组值进行比较?