私はFormDataオブジェクトを次のように送信できました。
_var formData = new FormData();
formData.append('file', this.files[0]);
$.ajax({
url: urlUploadProductsFile,
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false
}, 'json');
_
次に、サーバーに送信するCustomerId
を追加します。以下は機能しません:
_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');
_
また、次のバリエーションも試しました。
_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 }
_
任意の助けに感謝します。
試してください:
var formData = new FormData();
formData.append('file', this.files[0]);
formData.append('CustomerId', 2);
/*
note:: appending in form Data will give "csrf token mismatch error".
so better you make a input feild of type hidden with name = CustomerId
and value = 2
*/
$.ajax({
url: urlUploadProductsFile,
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false
}, 'json');
formData
に直接追加する必要があります('file'
で行ったように)、あるいはクエリ(GET)パラメーターを使用します。