php - jQuery 和 Wordpress ajax 调用返回 400 错误请求
问题描述
我设计了一个基本的注册表单,我在其中检索基本的用户详细信息并尝试将它们发送ajax
到 Wordpress。无论我做什么或尝试什么,我都会看到这个错误:
POST http://localhost/career_portal/wp-admin/admin-ajax.php 400 (Bad Request)
jQuery:
jQuery(document).ready(function($) {
$('.submit_signup-form').on('click', function(e) {
var full_name = $('#signup_full-name').val();
var username = $('#signup_username').val();
var email_address = $('#signup_email-address').val();
var password = $('#signup_password').val();
var phone = $('#signup_contact').val();
var cover_letter = $('#signup_cover-letter').val();
var resume = $('#signup_resume').prop('files')[0];
var form_data = new FormData();
form_data.append('action', 'portal_signup');
form_data.append('name', full_name);
form_data.append('email', email_address);
form_data.append('username', username);
form_data.append('password', password);
form_data.append('phone', phone);
form_data.append('cover_letter', cover_letter);
form_data.append('resume', resume);
$.ajax({
type: 'POST',
url: ajax_url,
contentType: false,
processData: false,
data: form_data,
success:function(data) {
console.log(data);
}
})
})
})
PHP:
function career_portal_ajax_signup() {
$user_id = wp_create_user($_POST['username'], $_POST['password'], $_POST['email']);
echo $user_id;
add_user_meta($user_id, "_signup_phone", $_POST['phone']);
add_user_meta($user_id, "_signup_cover_letter", $_POST['cover_letter']);
add_user_meta($user_id, "_signup_name", $_POST['name']);
if(!function_exists('wp_handle_upload')) {
require_once(ABSPATH . 'wp-admin/includes/file.php');
}
$resume = $_FILES['resume'];
$upload_overrides = array('test_form' => false);
$movefile = wp_handle_upload($resume, $upload_overrides);
if ($movefile && !isset($movefile['error'])) {
echo "File Upload Successfully";
} else {
/**
* Error generated by _wp_handle_upload()
* @see _wp_handle_upload() in wp-admin/includes/file.php
*/
echo $movefile['error'];
}
}
我也尝试data
从通话中删除,认为我的数据可能有问题,但我仍然遇到同样的错误。我相信PHP 中的动作名称在wp_ajax_portal_signup
jQuery 中portal_signup
应该是正确的。
解决方案
推荐阅读
- php - 不能从同一个类中定义的类函数调用函数
- powershell - PowerShell 上的 Send-MailMessage 不起作用
- c# - 如何保持或正确转换对象类型?
- php - PHP X-User 和 X-Password 身份验证
- vb.net - 相当于 DateTimePicker 上的 SelectionChangeCommitted?
- javascript - 通过 fb 登录网站时,我的函数 TestApi 不收集用户数据
- powershell - 使用 Powershell 将对象和字符串导出到 CSV
- javascript - 在增量中,为什么传递变量的值而不是值和增量?
- angular - 角材料:如何应用
标签上的消息 - windows - Mac 上的 git 将我未触及的文件视为已修改,并且它们也显示为已上演