2015-06-29 158 views
0

一起發送額外的數據,我將文件上傳到使用jQuery服務器:的jQuery/AJAX - 文件上傳

$.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} 
    }); 

我想與文件一起發送額外的參數。可能嗎?如果是 - 如何?

謝謝!

回答

0

要發送額外的參數,你可以把它添加到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} 
}); 
0

這種嘗試,

$("form").on("submit", function(event) { 
    var formData = $(this).serialize(); 
    //$.ajax({}) //remaining code here 
}); 
0

您可以選擇使用FormData對象,而不是僅將文件發送序列化的形式。

var formData = new FormData($("form")[0]);