【发布时间】:2023-01-30 12:23:43
【问题描述】:
我正在将 FormData 对象发送到端点。电话号码需要格式化为这个 JSON:
"phone": [{"type":"main", "value":"#"}, ...] 否则会被拒绝。在数组中具有两对键和值的单个对象。
const doStuff = () => {
const formData = new FormData()
**Have tried below for setting key/value of phone object**
// Attempt 1
formData.set('phone', [{ type: 'main', value: '313-555-2121' }])
// Returns:
"phone":"[Object Object]"
// Attempt 2
formData.set(
'phone',
JSON.stringify([{ type: 'main', value: '313-555-2121' }])
)
// Returns
"phone":"[{\"type\":\"main\",\"value\":\"313-555-2121\"}]"
// Format as single "fields" object and stringify (results in fields: {...stuff}), API needs this.
const formattedForApi = JSON.stringify({fields: Object.fromEntries(formData.entries())})
// MAKE POST REQUEST...
}
我上面两次尝试的 API 错误。抱怨需要是“主要”的无效第一个值。我是否遗漏了 stringify 如何影响实际发送的数据?
对于那些想知道的人,API 是 Podio。
【问题讨论】:
标签: javascript arrays json podio