为什么在发送 POST 请求时要使用 FormData 而不是 JSON?

我还没有找到这个问题的具体答案。使用 FormData 或application/x-www-form-urlencoded带有application/json. 例如在 Axios 请求中?



慕勒3428872
浏览 397回答 2
2回答

人到中年有点甜

一个 FormData 对象可以简单地:将所有数据编码成一个<form>无需手动将文件转换为字符串即可对文件进行编码以常见服务器端环境(如 PHP)本机支持的格式对数据进行编码(即,它将填充$_FILES和$_POST)。这些都不适用于 JSON。

手掌心

这取决于服务器接受什么,通常如果您正在与 API 交互,您将通过 JSON 发送,它会通知服务器发送的数据类型。如果您通过表单发送它,content-type(在请求的标头中)将是application/x-www-form-urlencoded.所以服务器需要配备,通常以某种类型的中间件的形式来解析它。例如,在 express js 中,你会有如下内容,// used to parse jsonapp.use(express.json());app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript