2017-12-01 19 views
0

アプリケーションのすべてのフォームに使用する必要があるReact-componentを作成しました。特定のボタンをクリックすると、私はいくつかの検証を行い、最後にフォームをサーバーに投稿したいと思います。 ChromeInternet Explorer 11でfetch-apiを使用してFormData-objectを送信すると空の値が発生する

// 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)); 

示すスニペット作業罰金: これは、この部分が現在のように見えるものです。ただし、IE11ではそうではありません。 一方、Content-Typeヘッダーのコメントを外すときは、Chromeにも分割されます。

このように、https://stackoverflow.com/a/46642899/615288は、常に"multipart/form-data"です。しかし、それをmultipart/form-dataに設定しても、値はサーバーに送信されません。

https://github.com/jimmywarting/FormDataのFormDataポリフィルとwhatwg-fetchを使用しています。

いるFormDataは、バージョン以来、IEで動作するはずと私はここで何が起こっているかが表示されない9.

追記:全体のヘッダ部分をコメントアウトすると、ブラウザが推測するようだと、それはまだChromeで動作します正しいもの(開発ツールで見ることができるように)

答えて

0

誰かが今日このレポに私を報告しました。

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

どうやらあなたは間違ったContent-Typeヘッダを取得する理由です「IEは、そのボディタイプされたブロブでXHRにContent-Typeヘッダを設定することができません」。バージョンを3.0.7に更新するこの問題を修正する

関連する問題