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

标签 javascript

<input type='file' id='inpfile' accept='image/jpeg,image/png,image/gif' hidden>

我需要更改 imgauthsrc 但还需要一个名为 name 的附加变量

$('#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);
        }
    });
});

php 端

$name = $_POST['name'];

那么我如何附加 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

然后在服务器上以 $_POST['name'] 的形式读入。

关于javascript - 将附加变量附加到 ajax 处理输入类型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091051/

相关文章:

javascript - 如何使用 php 检查 css 文件是否缩小

javascript - 如何在 JavaScript 中使用 Mocha 和 assert.throws 测试参数的值?

javascript - 如何 append 最新的 html 文件,而不是从缓存中

javascript - javascript 中整数键的 HashMap

javascript - 将动态数据从 API 绑定(bind)到 FlipView 控件

javascript - 如何在页面加载时删除具有空属性的元素

javascript - 'this' 和普通变量声明的区别

javascript - Angular JS 模块的 JS 错误

javascript - 如何在使用 AngularJS 提交 <select> 时绑定(bind)、填充和获取选定值

javascript - 单击时 DatePicker 不执行任何操作