React中Axios POST请求的请求体格式调整求助
调整Axios POST请求体格式,提取公共字段到顶层
你当前的代码通过state.map生成了多个包含重复公共字段的对象数组,导致请求体冗余。需要将quote_timestamp和number_of_products提取到顶层,products字段改为包含所有产品对象的数组(注:你给出的目标格式中products写成了对象,但JavaScript对象无法容纳多个无键名的子对象,正确格式应为数组)。
解决方案
直接构造一个包含顶层公共字段和产品数组的单一对象,替代原有的&&拼接逻辑:
body: JSON.stringify({ quote_timestamp: timestamp, number_of_products: state.length, products: state.map((product) => ({ cat: product.cat, Name: product.Name })) })
代码说明
- 顶层对象直接包含
quote_timestamp和number_of_products,仅出现一次,避免冗余 products字段的值是state.map返回的数组,每个元素是转换后的产品对象- 移除原有的
&&逻辑,因为我们需要的是单一请求体对象而非多个对象组成的数组
正确的请求体格式
{ "quote_timestamp": "7/24/2022, 11:25:27 PM", "number_of_products": 3, "products": [ { "cat": "AB1", "Name": "Alpha" }, { "cat": "AB2", "Name": "Beta" }, { "cat": "AB3", "Name": "Gamma" } ] }
内容的提问来源于stack exchange,提问作者mstarluk
相关产品推荐
相关产品推荐

