dongweishi2028 2018-05-21 01:27
浏览 147

jQuery和Wordpress ajax调用返回400错误请求

I've designed a basic registration form where I'm retrieving basic user details and trying to send them through ajax to Wordpress. Regardless of what I do or try, I'm seeing this error:

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'];
  }
}

I tried removing data from the call too thinking that there might be a problem with my data but I still get the same error. Action name in PHP is wp_ajax_portal_signup so in jQuery portal_signup should be right I believe.

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办
    • ¥15 kylin启动报错log4j类冲突
    • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大