2013-02-04 65 views
1

我想用一个ajax调用上传两个文件(图像和PDF文件)和数据(选择框值和输入字段)。我已经到了可以成功上传我需要的两个文件的阶段,但是我很难将输入内的值和选择标签附加到FormData对象。ajax Miltipart FormData - 在一个请求中上传数据和文件

一直在这个问题上困住了很多年,所以任何帮助都将不胜感激。

下面是ajax自称 - 如果这还不够,你需要更多的信息,然后让我知道。

$(function(){ 

$("#ajaxComm").submit(function(e){ 

e.preventDefault(); 

imageInput = document.getElementById("File-0") 
pdfInput = document.getElementById("File-1") 

imageFile = imageInput.files[0]; 
pdfFile = pdfInput.files[0]; 

var formdata = new FormData(); 


formdata.append('file-0[]', imageFile); 
formdata.append('file-1[]', pdfFile); 

    $.ajax({ 
    url: "upload.php", 
    type: "POST", 
    data: formdata, 
    processData: false, 
    contentType: false, 
    success: function (res) { 
    document.getElementById("response").innerHTML = res; 
    } 

    }); 
}); 

}); 

感谢 kemil

+0

你得到的错误是什么 – Satya

+0

你试过了什么?我会认为formdata.append('field1',document.getElementById(“field1”).value);会做这项工作。 – deantoni

回答

0

由于这是一个Ajax调用,您可以使用GET方法追加选择框和输入字段数据(如果他们到合适的URL大小),它并不需要是一个漂亮的网址;并使用POST作为文件,因为该部分已经在工作。

相关问题