2016-04-06 22 views
8

aracılığıyla FormData nesnesi VE ek bir parametre Gönder:Ben şöyle bir FormData nesneyi göndermek başarmış ajax

var formData = new FormData(); 
formData.append('file', this.files[0]); 
$.ajax({ 
    url: urlUploadProductsFile, 
    type: 'POST', 
    data: formData, 
    cache: false, 
    contentType: false, 
    processData: false 
}, 'json'); 

Şimdi ne yapmak istiyorum sunucuya göndermek için ek CustomerId eklemektir.

var formData = new FormData(); 
formData.append('file', this.files[0]); 
$.ajax({ 
    url: urlUploadProductsFile, 
    type: 'POST', 
    data: { "file": formData, "CustomerId": 2 }, 
    cache: false, 
    contentType: false, 
    processData: false 
}, 'json'); 

Ve ayrıca aşağıdaki varyasyonlar denedi: Aşağıdaki çalışmaz

data: { "file": formData, "CustomerId": 2 }, processData: true

data: JSON.stringify({ "file": formData, "CustomerId": 2 })

data: { "file": JSON.stringify(formData), "CustomerId": 2 }

data: { file: formData, CustomerId: 2 }

Herhangi bir yardım takdir edildi.

cevap

14

Dene:

var formData = new FormData(); 
formData.append('file', this.files[0]); 
formData.append('CustomerId', 2); 
$.ajax({ 
    url: urlUploadProductsFile, 
    type: 'POST', 
    data: formData, 
    cache: false, 
    contentType: false, 
    processData: false 
}, 'json'); 
2

Doğrudan onu formData ('file' ile yaptığınız gibi) ya da alternatif olarak sorgu (GET) parametrelerini kullanmanız gerekir.