我创建了一个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
答案 0 :(得分: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
}
答案 1 :(得分:0)
对我有用的是在服务器上禁用 mod sec!