【问题标题】:AJAX 400 Bad Request Worpress PHPAJAX 400 错误请求 Wordpress PHP
【发布时间】:2022-01-17 23:51:14
【问题描述】:

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

首先,我的浏览器/帐户一切正常。但是一旦我更改我的谷歌用户或不同的浏览器或使用我的手机。我的 ajax 请求从我的 admin-ajax.php 获得 400。

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

这是我的 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 上

快速提醒,只要我拥有相同的浏览器和谷歌帐户,一切都会完美运行。我的网站没有ip白名单或者登录账号,这里纯ajax和php。

谢谢

【问题讨论】:

  • wp_ajax_get_content_wino 动作挂钩下方添加一个额外的动作挂钩。像这样:add_action( 'wp_ajax_nopriv_get_content_wino' , 'get_content_wino' );Documentation
  • 首先这是怎么回事。其次,你非常漂亮,非常感谢队友!
  • 要添加到@Ruvee 评论 - nopriv 确保可以在没有登录权限的情况下调用该操作。这可能就是为什么当您尝试进行 Ajax 调用并运行操作时它会阻止您这样做的原因。通常,对于您打算由未登录的用户运行的任何操作,您需要添加它。如果您正在构建仅在登录时运行的 ajax 函数,则不需要。

标签: php jquery ajax wordpress google-chrome


【解决方案1】:

当你钩入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();
   }
}

【讨论】:

  • 再次感谢您的回答,但我又遇到了同样的问题,但只有 js 代码,当我点击时,我有按钮和事件监听器,它与我的帐户完美配合,但是当我在另一个浏览器、设备或帐户上继续,它也不再工作了,你知道吗?
  • 这可能有几个原因。我会尽力帮助您调试它,但为了做到这一点,请提供更多详细信息。例如,当您说“仅对 js 代码有同样的问题”时,这是什么意思?您是否在浏览器的控制台中收到任何错误?如果是这样,那么请提供您的 js 代码中的错误消息,并尽可能提供一些屏幕截图。还要确保您请求admin-ajax.php。只有当我能详细查看您的代码时,我才能为您提供帮助。
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多