programing

ajax를 통해 FormData 개체와 추가 매개 변수 전송

subpage 2023. 9. 6. 22:05
반응형

ajax를 통해 FormData 개체와 추가 매개 변수 전송

다음과 같은 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(Query) 매개 변수를 사용합니다.

언급URL : https://stackoverflow.com/questions/36448724/send-formdata-object-and-an-additional-parameter-via-ajax

반응형