我正在尝试创建一个带有AJAX请求的电子邮件注册表单。
早些时候,我发现Wordpress会清空$_POST
默认情况下为变量。我试过使用admin_post
和admin_post_nopriv
但这两种方法似乎都不起作用。我现在正在尝试以下操作:
add_action(\'wp_ajax_nopriv_newsletter\', \'subscribeToNewsletter\');
add_action(\'wp_ajax_newsletter\', \'subscribeToNewsletter\');
function subscribeToNewsletter()
{
echo json_encode([ \'success\' => true ]);
在JavaScript中,如果我使用以下内容:axios
.post(\'/wp-admin/admin-ajax.php\', {
\'email\' : \'abc@xyz.com\',
\'action\' : \'newsletter\',
})
.then(response => {
console.log(response.data);
});
我收到400个错误请求0
已返回。如果我将其更改为:axios
.get(\'/wp-admin/admin-ajax.php?email=abc@xyz.com&action=newsletter\')
.then(response => {
console.log(response.data);
});
一切正常。可以admin-ajax.php
不处理POST
请求?我不想使用GET
请求*为某人订阅新闻稿,我想通过AJAX来完成。
<小时>
*From W3 schools (which normally I hate but has a good overview on requests):
关于GET请求的其他注意事项:GET请求可以缓存,保留在浏览器历史记录中