I have managed to send a FormData object like so:
var formData = new FormData(); formData.append('file', this.files[0]); $.ajax({ url: urlUploadProductsFile, type: 'POST', data: formData, cache: false, contentType: false, processData: false }, 'json');
Now what I want to do is add an additional CustomerId
to send to the server. The following won't work:
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');
And I also tried the following variations:
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 }
Any help appreciated.
Yes you can, you can append to formData objects.
For Sending or inserting or saving multiple data in single click then you have to use Jquery and javascript code. By using Jquery or Javascript code you can generate dynamic HTML field in your HTML form. We can generate any dynamic HTML field by using Jquery and append into your form fields.
The jQuery Ajax formData is a method to provide form values like text, number, images, and files and upload on the URL sever. The jQuery Ajax formData is a function to create a new object and send multiple files using this object.
Try:
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');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With