如何解决为什么要在发送POST请求时通过JSON使用FormData?
我没有找到这个问题的具体答案。与仅使用application/x-www-form-urlencoded
的普通JSON相比,使用FormData或通过application/json
进行请求有什么好处吗?例如在Axios请求中?
解决方法
FormData对象可以很简单:
- 将所有数据编码为
<form>
- 编码文件,而无需手动将其转换为字符串
- 以常见的服务器端环境(例如PHP)原生支持的格式对数据进行编码(即,将填充
$_FILES
和$_POST
)。
都不适用于JSON。
,这取决于服务器接受的内容,通常,如果您正在与API交互,则将通过JSON发送,该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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。