无法在API终结点回调中获取POST数据

时间:2019-04-12 作者:TTT

我有这个:

add_action( \'rest_api_init\', function () {
  register_rest_route(\'my-project/v1/form\', \'/post\', array(
    \'methods\' => \'POST\',
    \'callback\' => \'post_form\'
  ) );
});
我用这个调用它,调用完成,serializedForm不为空:

$(".my-project-submit").click(function(){
   var serializedForm = $(\'#my-project-form\').serialize();
    $.post("/wp-json/my-project/v1/form/post/", serializedForm, function(data) {
        alert(data);
    });
});
我试过这些:

function post_form($data) {
$数据为null/空。

function post_form($data) {
   $data = $request->get_params();
我不知道it$数据为空,我只是没有收到响应(alert(data) 从未接触过)。

    function post_form($data) {
       $data = $request->get_body();
我不知道it$数据为空,我只是没有收到响应(alert(data) 从未接触过)。

所有测试方法以

    $response = new WP_REST_Response($data, 200);
    $response->set_headers([ \'Cache-Control\' => \'must-revalidate, no-cache, no-store, private\' ]);
    return $response;
}

1 个回复
SO网友:BlueSuiter

更新您的功能post_form


function post_form(WP_REST_Request $request)
{
    $data = $request->get_params();
    print_r($data);
}

相关推荐

何时使用WordPress REST API检查max_num_ages?

我正在使用WP API实现无限加载,所以我通过API请求引入新帖子。因为默认API响应对我来说很好,而且我只需要过滤返回的帖子,所以我没有创建自定义路由,而是自定义默认查询:add_filter( \'rest_post_query\', array( $this, \'get_posts\' ), 10, 2 ); public function get_posts( $args, $req ) { /* This function i