reactjs - 将表单数据中的对象值传递给 API?
问题描述
这是我的 POSTMAN 后端 API 的结果:
我这里有两把钥匙,也json
就是itemFile
createItem(){
const itemData = this.state;
const selectedFile = this.state;
const formData = new FormData();
formData.append('json', itemData)
formData.append('itemFile', selectedFile)
console.log(formData)
fetch(`http://localhost:9000/api/item/submit`,
{
method: 'post',
body: formData
}).then ((result) => {
let responseJSON = result;
console.log(responseJSON);
});
}
之后,我 在 [Source: (String)\"[object Object]\" 处收到 Unrecognized token 'object': was expected ('true', 'false' or 'null')\n 的错误;行:1,列:8]
我需要使用 JSON.Stringify 吗?但我将如何在表单数据中使用它?
解决方案
itemData
在您的代码中必须是一个对象。
FormData append 方法的第二个参数应该是 USVString 或 Blob(包括 File 等子类)。
如果没有指定这些值,则通过调用toString
方法将值转换为字符串。
formData.append('json', itemData)
formData.get('json') // "[object Object]"
因此,您需要在附加到 formData 之前使用 JSON.stringify
formData.append('json', JSON.stringify(itemData))
推荐阅读
- sql - 在 Microsoft SQL Server 中将文本拆分为行
- java - 如何在android状态栏上写字
- python - 将多处理应用于 pandas 数据框中唯一类别的条目的最有效方法是什么?
- sql-server - 用户在更新数据库后无权执行此操作实体框架
- mongodb - mongo 聚合框架按季度/半年/年分组
- javascript - 热图不适用于 FeatureLayer (ArcGIS JS API 4.8)
- django - Django ORM 问题:2 个不同视图上的相同查询集以截然不同的速度运行
- ruby-on-rails - 如何从 Rails 4 中的一组 yaml 文件中选择一个 yaml 文件?
- sql-server - 将参数传递到单引号 TSQL 脚本中
- android - 未找到目标设备 android 错误 USB 设备选项已选择