我使用poster发送请求,这样我就可以测试和调试我的后端REST API。对于后端,我使用ExpressJS。然而,当尝试在端点内访问req.body时,我在后端得到了未定义,这与在chrome window.fetch方法中使用body不同。
来自MDN:
正文
要添加到请求中的任何主体:可以是Blob、BufferSource、FormData、URLSearchParams、USVString或ReadableStream对象。请注意,使用GET或HEAD方法的请求不能有正文。
fetch
设置的Content-Type
标头将取决于您传递给它的值的类型。
例如,如果您传递FormData
对象,则它将在该对象上使用内部API来生成Content-Type头(其将是带有boundary
参数的multipart/form-data
(,而如果您传递了URLSearchParams
对象,则其将是application/x-www-form-urlencoded
。
不过,这是假设JS调用fetch
不会覆盖头。
您可以使用浏览器开发工具的"网络"选项卡来监控fetch
发送的请求,并查看为其设置的内容类型。