我正在尝试PUT
以下数据:{value: false}
. 我正在使用 isomorphic-fetch 并发送以下内容: JSON.stringify({value: false})
. 问题是服务器期望所有值都是字符串。我尝试使用 FormData 并发送它,但由于某种原因服务器不明白这一点。
我最好尝试在 JSON.stringify 上使用将所有值输出为字符串的替换器吗?或者有没有办法让 FormData 返回 NVP,我将它发送到哪里?只是寻找首选方法的片段。
我正在尝试PUT
以下数据:{value: false}
. 我正在使用 isomorphic-fetch 并发送以下内容: JSON.stringify({value: false})
. 问题是服务器期望所有值都是字符串。我尝试使用 FormData 并发送它,但由于某种原因服务器不明白这一点。
我最好尝试在 JSON.stringify 上使用将所有值输出为字符串的替换器吗?或者有没有办法让 FormData 返回 NVP,我将它发送到哪里?只是寻找首选方法的片段。
您可以在字符串化之前遍历要传递的对象中的所有值并在它们上调用 toString() 。
我决定URLSearchParams()
在使用 toString 时只使用并避免处理 null 和数组。
let qs = new URLSearchParams();
for (let i in data) qs.append(i, data[i]);
const result = qs.toString();
或 wish-js-had-better-immutable-objects:
const result = Object.keys(data).reduce((p, c) => {
p.append(c, data[c]);
return p;
}, new URLSearchParams()).toString();