【问题标题】:AJAX-Request: /wp-admin/admin-ajax.php 403AJAX 请求:/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

【问题讨论】:

    标签: ajax wordpress http-status-code-403


    【解决方案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!

    【讨论】:

    • 也为我工作
    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 2023-04-09
    • 2014-04-30
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多