Использование FormData в IE9 / Angular 5 / TypeScript без Ajax или jQuery - PullRequest
0 голосов
/ 14 мая 2018

В моем приложении Угловой 5 / Машинопись , у меня UploadFile компонент выглядит так:

component.html

....
<form #formUpload id="formUpload">
   <input type="file" class="input-file-ghost" (change)="onChangeFile($event.target.files)">
</form>
....

component.ts

export class UploadFileComponent implements OnInit {

  @Input() .....;
  @Output() filesAdded = new EventEmitter<File>();
  @ViewChild('formUpload') formUpload: ElementRef;
  ...

  constructor() { .... }

  ngOnInit() { .... }

  onChangeFile(files: File[]) { ..... }
}

Use case

<app-upload-file
        [uploadFileConfig]="...."
        (filesAdded)="....">
 </app-upload-file>

**********

formCvData: FormData = new FormData();
onFileUploaded($event) {
  const uploaded = $event;
  this.formLmData.set('.....', uploaded, uploaded.name);
}

Прекрасно работает при использовании этого компонентав браузерах Chrome и Mozilla, но когда я захожу на IE 9 , у меня появляется эта ошибка:

'FormData' не определено

Я посмотрел впроблемы git и Stackblitz проектов, я не нашел ничего, что могло бы решить проблему с помощью современного решения.

ВАЖНО: Я ищу решение, котороене использует jQuery , ни Ajax

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 14 мая 2018

FormData недоступен в IE9:

https://developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility

Вам придется вручную собирать и кодировать данные формы самостоятельно.

...