当前位置: 首页 > 知识库问答 >
问题:

在Internet Explorer 11中通过fetch-api发布FormData-object时的空值

毕宇
2023-03-14
// 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));

我不明白这里发生了什么,因为FormData应该在IE中工作,因为版本9。

sideNote:当注释掉整个标题部分时,它仍然在chrome中工作,因为浏览器似乎猜出了正确的标题(可以在developer-tools中看到)

共有1个答案

苏彦君
2023-03-14

今天有人在回购中向我报告了这一点。

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

显然,“IE未能在主体为类型化blob的XHR上设置内容类型header”,这就是为什么您得到了错误的内容类型header。将版本更新到可能的3.0.7可以修复此问题

 类似资料: