jQuery / AJAX - 与文件上传一起发送附加数据

dar*_*yro 4 javascript ajax jquery file-upload jquery-file-upload

我正在使用 jQuery 将文件上传到服务器:

 $.ajax({
    url : 'http://www.example.com',
    dataType : 'json',
    cache : false,
    contentType : false,
    processData : false,
    data : formData, // formData is $('#file').prop('files')[0];
    type : 'post',
    success : function(response) {something}
   });
Run Code Online (Sandbox Code Playgroud)

我想将附加参数与文件一起发送。是否可以?如果是的话 - 怎么办?

谢谢!

Gur*_*Rao 5

要发送其他参数,您只需将其附加到formdata如下所示:

var formdata=new FormData();
formdata.append('simpleFile', $('#file').get('files')[0]); //use get('files')[0]
formdata.append('someotherparams',someothervalues);//you can append it to formdata with a proper parameter name 

$.ajax({
    url : 'http://www.example.com',
    dataType : 'json',
    cache : false,
    contentType : false,
    processData : false,
    data : formData, //formdata will contain all the other details with a name given to parameters
    type : 'post',
    success : function(response) {something}
});
Run Code Online (Sandbox Code Playgroud)