AJAX 400 错误请求 Wordpress PHP

AJAX 400 Bad Request Worpress PHP

我目前在 Worpress 上使用带有 Ajax 和 PHP 的 GraphQL API。

首先,我的 browser/account 上的一切都按预期运行。但是一旦我改变我的 google 用户或不同的浏览器或继续我的 phone。我的 ajax 请求从我的管理员那里得到了 400-ajax.php。

老实说,我不知道问题出在哪里,我只是在 php 上用 ajax 做了一个简单的请求,然后我在后面做了一个 GraphQL 查询,然后我发送它以 JSON 格式回到我的面前。就这样。 我有 400 个错误的请求 w/e 我试图在我的背后做。我不知道该做什么,也不知道该去哪里找。

这是我的 ajax 请求之一。

ajaxurl 已定义不用担心:)

 $.ajax({
    type: 'post',
    url: ajaxurl,

    data: {
      'action': 'get_content_wino'
    },
    success: function(data){
        console.log(data);
        console.log("fetch ok")
    },
    error: function(errorThrown) {
        console.log(errorThrown);
    }
  });

这是我的背影。


function get_content_wino()
{
   if ( isset($_REQUEST) )
   {
       echo read_file();
       die();
   }
}

add_action( 'wp_ajax_get_content_wino' , 'get_content_wino' );

w/e 我的行动是我得到 400. 在 admin-ajax.php

快速提醒,只要我有相同的浏览器和 google 帐户,一切都很好。我的网站没有ip白名单和登录账号,这里纯ajax和php

谢谢

挂钩到wp_ajax时有两个动作挂钩。

  • wp_ajax_{$action} 用于已登录用户。 Docs

  • wp_ajax_nopriv_{$action} 对于已注销的用户。 Docs

所以要将两者结合起来,您可以使用以下代码:

add_action( 'wp_ajax_get_content_wino' , 'get_content_wino' );

add_action( 'wp_ajax_nopriv_get_content_wino' , 'get_content_wino' );

function get_content_wino()
{
   if ( isset($_REQUEST) )
   {
       echo read_file();
       die();
   }
}