2016-04-06 15 views
8

udało mi się wysłać FormData obiekt tak:Wyślij obiektu FormData i dodatkowy parametr za pośrednictwem 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'); 

Teraz to, co chcę zrobić, to dodać dodatkowy CustomerId wysłać do serwera. Poniższa nie zadziała:

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'); 

Próbowałem również następujące zmiany:

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 }

Każda pomoc doceniona.

Odpowiedz

14

Spróbuj:

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

Należy dodać go bezpośrednio do formData (tak jak w przypadku 'file') lub alternatywnie użyć parametrów zapytania (GET).

Powiązane problemy