Javascript 将附加变量附加到ajax处理输入类型文件

Javascript 将附加变量附加到ajax处理输入类型文件,javascript,Javascript,php端 $('#inpfile').change(function(){ var name = $('#selauth').val(); // this is the additional variable var file_data = $('#inpfile').prop('files')[0]; var form_data = new FormData(); form_data.append('inpfile', file_data); $.aja

php端

$('#inpfile').change(function(){
    var name = $('#selauth').val(); // this is the additional variable
    var file_data = $('#inpfile').prop('files')[0];
    var form_data = new FormData();
    form_data.append('inpfile', file_data);
    $.ajax({
        url: "authors-pro-img-from-disc.php",
        type: 'post',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data, // this works
        //data: {form_data, 'name': name}, // this doesn't work
        success: function(data){
            $('#imgauth').attr('src', data);
        }
    });
});

因此,我如何附加
name
变量并将其与图像数据一起发送到服务器。

您需要以与文件相同的方式附加name字段:

$name = $_POST['name'];
var name=$('#selauth').val();//这是附加变量
var file_data=$('#inpfile').prop('files')[0];
var form_data=new FormData();
表单\数据。追加('inpfile',文件\数据);
表单_数据。追加('name',name)//
$name = $_POST['name'];
var name = $('#selauth').val(); // this is the additional variable
var file_data = $('#inpfile').prop('files')[0];
var form_data = new FormData();

form_data.append('inpfile', file_data);
form_data.append('name', name); // <-------- append name