Я знаю, что вопрос заключается в том, как вставить объект окна в компонент, но вы делаете это только для того, чтобы добраться до localStorage. Если вы просто хотите localStorage, почему бы не использовать сервис, который предоставляет именно это, например h5webstorage . Затем компонент будет описывать его реальные зависимости, которые делают ваш код более удобочитаемым.
Вам необходимо создать объект данных формы. В функции ajax установите для processData
значение false.
Поскольку данные, передаваемые в параметр данных в виде объекта (технически, что угодно, кроме строки), будут обрабатываться и преобразовываться в строку запроса, в соответствии с типом содержимого по умолчанию «application / x-www-form-urlencoded» ». Если вы хотите отправить DOMDocument или другие необработанные данные, установите для этого параметра значение false.
JS
$("form").submit(function(evt){
evt.preventDefault(); //prevent refresh
const formData = new FormData(this); // you need to create a FormData obj to be able to send files
$.ajax({
url: 'upload-my-files', //change this to your url
type: 'POST',
data: formData, //put formData as body data
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (data) {
console.log(data);
}
});
});
Ссылки:
https://developer.mozilla.org/en-US/docs/Web/API/FormData [118 ]