AJAX 请求:/wp-admin/admin-ajax.php 403

Posted

技术标签:

【中文标题】AJAX 请求:/wp-admin/admin-ajax.php 403【英文标题】:AJAX-Request: /wp-admin/admin-ajax.php 403 【发布时间】:2020-01-13 17:12:13 【问题描述】:

我创建了一个用于计算成本的 wordpress 插件。该表单只有一个输入字段和一个提交按钮。在提交表单时,我想创建一个 ajax 请求。所以,我调用 /wp-admin/admin-ajax.php-Url,但我得到了禁止错误代码 403。我认为 htaccess 中的条目是错误的,但是在更改文件后我得到了同样的错误和重启服务器。

你知道这里发生了什么吗?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
# admin-ajax.php & post.php skip/bypass rule
RewriteCond %REQUEST_URI (admin-ajax\.php|post\.php) [NC]
RewriteRule . - [S=2]

</IfModule>

# END WordPress

【问题讨论】:

【参考方案1】:

如果您没有声明允许 ajax 调用,则会出现 403 禁止错误。

//allow this particular AJAX function for logged in users
add_action('wp_ajax_myajax', 'myajax');

//allow this particular AJAX function for non-logged in users
add_action('wp_ajax_nopriv_myajax', 'myajax');

    function myajax() 
        //your code
    

【讨论】:

感谢您的提示!!!我还声明了 ajax 调用,但参数有一些拼写错误。【参考方案2】:

对我有用的是在服务器上禁用 mod sec!

【讨论】:

也为我工作

以上是关于AJAX 请求:/wp-admin/admin-ajax.php 403的主要内容,如果未能解决你的问题,请参考以下文章

关于ajax请求等待完成

ajax请求失败

怎么实现ajax请求

异步请求 AJAX

JavaScript之Ajax-2 Ajax(使用Ajax发送get请求使用Ajax发送post请求)

求教layui中的ajax请求的讲解