为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕勒3428872 2022-12-29 16:19:43
我还没有找到这个问题的具体答案。使用 FormData 或application/x-www-form-urlencoded带有application/json. 例如在 Axios 请求中?
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

一个 FormData 对象可以简单地:

  • 将所有数据编码成一个<form>

  • 无需手动将文件转换为字符串即可对文件进行编码

  • 以常见服务器端环境(如 PHP)本机支持的格式对数据进行编码(即,它将填充$_FILES$_POST)。

这些都不适用于 JSON。


查看完整回答
反对 回复 2022-12-29
?
手掌心

TA贡献1942条经验 获得超3个赞

这取决于服务器接受什么,通常如果您正在与 API 交互,您将通过 JSON 发送,它会通知服务器发送的数据类型。如果您通过表单发送它,content-type(在请求的标头中)将是application/x-www-form-urlencoded.


所以服务器需要配备,通常以某种类型的中间件的形式来解析它。例如,在 express js 中,你会有如下内容,


// used to parse json

app.use(express.json());


app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies


查看完整回答
反对 回复 2022-12-29
  • 2 回答
  • 0 关注
  • 396 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信