在 fetch
请求中设置 Content-Type
header 的最佳做法是什么?
我今天花了几个小时来追踪一个错误,因为我在做我认为是好的做法:根据我发送的内容类型设置请求的 Content-Type
header .
具体来说,我发送的 POST 请求的 Content-Type
为 multipart/form-data
(用于文件上传)。我不知道的是浏览器会自动设置 multipart/form-data
请求的 Content-Type
header ,并且它会附加Content-Type
header 所需的 boundary
值。
我在过去尝试 POST JSON 数据时遇到了问题没有设置 Content-Type
header ,现在我在尝试 POST 时遇到了问题文件同时设置Content-Type
header 。
这里有什么好的经验法则吗?
最佳答案
首先对于 Post 方法,我们必须指定要发送的内容的类型 如果我们要发布我们正在使用的文件,例如 JSON 或文本/纯文本或图像 new FormData() 构造函数来设置键值对
FormData 接口(interface)提供了一种轻松构造一组表示表单字段及其值的键/值对的方法,然后可以使用 XMLHttpRequest.send() 方法轻松发送这些键/值对。如果编码类型设置为“multipart/form-data”,它使用的格式与表单使用的格式相同。检查mdn
在 mdn 上检查这个清楚地说明了为什么标题没有在 Content-headers 中使用
关于javascript - Fetch API 什么时候应该显式设置 `Content-Type` header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48483531/