ajax - AJAX 请求:/wp-admin/admin-ajax.php 403
问题描述
我创建了一个用于计算成本的 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 调用,它会给出 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
}
推荐阅读
- c# - 统一为Android编译apk会破坏3d模型
- c# - CamelCasePropertyNamesContractResolver ASP.Net Web API 空间未从序列化字典键中删除
- uml - 统一流程模型中的用例图和序列图有什么区别?
- jquery - 如何使用 jquery 从数据库中检索数据,并且应该将相同的数据加载到引导表中
- r - 在 R 中循环三个条件
- javascript - 如何验证我的表单的用户名和密码?
- flask - Flask如何使用检查列表中是否存在值的过滤器进行查询?
- python - 在 Python 中打印 bash 脚本输出
- mysql - 将 tableWidget 中的图像显示为 PyQt5 表单
- python - 使用 if 语句的选择,无论是否为真,都会执行以下代码