在Content-Type
次请求上设置fetch
标头时,最佳做法是什么?
我今天花了几个小时来追踪一个错误,因为我正在做我认为是一个好习惯的做法:根据我发送的内容类型设置我的请求的Content-Type
标题。
具体来说,我发送了Content-Type
multipart/form-data
的POST请求(用于文件上传)。我不知道的是,浏览器会自动设置Content-Type
个请求的multipart/form-data
标题,和它会向所需的boundary
值附加Content-Type
标题。
我过去曾遇到问题,试图在没有设置Content-Type
标题的情况下发布JSON数据,现在我遇到试图POST文件的问题 while 设置Content-Type
标题。
这里有一个很好的经验法则吗?
答案 0 :(得分:1)
首先,对于Post方法,我们必须指定要发送的内容的类型 如果我们发布我们正在使用的文件,请使用JSON或text / plain或images 用于设置键值对的新FormData()构造函数
FormData接口提供了一种方法,可以轻松构造一组表示表单字段及其值的键/值对,然后可以使用XMLHttpRequest.send()方法轻松发送。如果编码类型设置为“multipart / form-data”,它使用与表单相同的格式。检查mdn
在mdn上检查这一点,清楚地说明为什么标题未在Content-headers中使用