I'm having some problems with uploading files using Ajax post. I have a form with several inputs (checkboxes, texts and files).
<form>
<input name="name" type="text">
<input name="file" type="file" multiple>
<input type="submit" id="submit">
</form>
I've got a function that retrieves the data from the form:
function collectFormData(){
return {
"event": $('#daEvent').find('input:checked').next().text(),
"likes": $('#daLike').find('input:checked').next().text(),
"figure": $('#daFigure').find('input:checked').next().text(),
"age": $('#daAgeText').val(),
"email": $('#daEmail').val(),
"extraText": $('#daFreeText').find('textarea').val(),
"files": $('#daUploadPhotos').find('input').get(0).files[0]
};
}
And it's passed down to:
var dataFromPage = collectFormData();
And here's my post:
$.post('http://localhost:3000', dataFromPage, function(data){
if (data == "done"){
alert('works');
} else {
alert('damn, something wrong');
}
});
I get this error -
Uncaught TypeError: Illegal invocation
I've looked for a solution for a while now, but couldn't find any relevant answers. Could you please help me out? Thanks!