简体   繁体   English

Wordpress admin-ajax.php 400 错误请求错误

[英]Wordpress admin-ajax.php 400 bad request error

i try to send datas from form by using ajax. First, i have a button "add file".我尝试使用 ajax 从表单发送数据。首先,我有一个按钮“添加文件”。 When i click on this one, i display form in ajax and it works.当我点击这个时,我在 ajax 中显示表格并且它有效。

Now, when i submit my form, i have error bad request from admin-ajax.php现在,当我提交我的表单时,我收到来自 admin-ajax.php 的错误错误请求

Function: (my add_post.php return only echo 'test'; Function:(我的 add_post.php 只返回echo 'test';

function add_post(){
    global $wpdb;
    include(dirname( __FILE__ ) . '/templates/includes/add_post.php');
    die();
}
add_action( 'wp_ajax_add_post', 'add_post' );

add_action( 'wp_ajax_nopriv_add_post', 'add_post' );

HTML: HTML:

<form class="form-horizontal" name="form" id="addNewPost" method="post" enctype="multipart/form-data">
    <input type="hidden" name="ispost" value="1" />
    <input type="hidden" name="userid" value="" />
    <input type="hidden" name="catid" value="<?php echo $catID; ?>" />

        <label class="control-label">Nom du fichier</label>
        <input type="text" class="form-control" name="titre" />


        <label class="control-label">Image à upload</label>
        <input id="upfile" type="file" name="sample_image" class="form-control" />

        <input type="submit" class="btn btn-primary" id="testsub" value="Envoyer" name="submitpost" />
</form>

JS FILE:文件:

$("#testsub").on('click', function(e){
    e.preventDefault();
    var formData=new FormData(document.getElementById('addNewPost'));
    formData.append("action", "add_post");           
    $.ajax({
        url: ajaxurl.ajaxurl,
        type: 'POST',
        data: {
            'action': 'add_post',
            'data': formData
        },
        cache: false,
        processData: false, 
        contentType: false,
    }).done(function(response) {
        $('.test').html(response);
    });
});

If i try to send only input value without the file, my ajax works.如果我尝试只发送没有文件的输入值,我的 ajax 可以工作。 Could you please help me?请你帮助我好吗?

Remove this line from code:从代码中删除这一行:

data: {
    'action': 'add_post',
    'data': formData
},

And use this:并使用这个:

data: formData,

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM