2017-12-01 18 views
0

Ich habe eine React-Komponente geschrieben, die für alle Formulare in meiner Anwendung verwendet werden soll. Wenn eine bestimmte Schaltfläche angeklickt wird, mache ich eine Validierung und schließlich möchte ich das Formular auf dem Server veröffentlichen. Diese ist, was dieser Teil sieht derzeit wie:Leere Werte beim Veröffentlichen von FormData-Objekten über fetch-api im Internet Explorer 11

// get what should be submitted 
const formData = new FormData(theForm)); // theForm is the DOM-element 

// post the form-data element 
fetch(theForm.action, 
    { 
     credentials: "include", //pass cookies, for authentication 
     method: theForm.method, 
     headers: { 
      "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
      //"Content-Type": "application/x-www-form-urlencoded" 
     }, 
     body: formData 
    }) 
    .then(res => console.dir(res)) 
    .catch(reason => console.error(reason)); 

Snippet gezeigt funktionieren in Chrome. In IE11 ist es jedoch nicht. Auf der anderen Seite, wenn die Content-Type Kopfzeile auskommentieren, wird es auch in Chrome brechen.

Wie gefunden https://stackoverflow.com/a/46642899/615288 ist es immer "multipart/form-data". Aber selbst wenn ich es auf multipart/form-data setze, werden die Werte nicht an den Server gesendet.

Ich verwende das FormData-Polyfill von https://github.com/jimmywarting/FormData sowie whatwg-fetch.

Ich sehe nicht, was hier vor sich geht als Formdata sollte 9.

Nebenbei bemerkt seit Version im Internet Explorer arbeiten: Wenn die gesamte Kopfteil es funktioniert immer noch in Chrome zu kommentieren, wie der Browser die erraten, scheint richtige (wie es in den Entwickler-Tools zu sehen ist)

Antwort

0

Jemand hat mir das heute im Repo berichtet.

https://github.com/jimmywarting/FormData/issues/44

Anscheinend "fail IE Content-Type-Header auf XHR, dessen Körper eine typisierte Blob, um" das ist, warum Sie falsch Content-Type-Header erhalten. Aktualisierung der Version auf möglicherweise 3.0.7 beheben diese

Verwandte Themen