axios.put保存为字符串

时间:2018-02-25 16:09:10

标签: reactjs firebase firebase-realtime-database axios

如果我尝试使用axios.put来保存字符串,则会产生错误400:数据无效;无法解析JSON对象,数组或值。

例如:

axios.put('firebase/url/example.json', "some string")

但如果我使用整数,它将完美地运作:

axios.put('firebase/url/example.json', 200)

如何使用put?

保存字符串

1 个答案:

答案 0 :(得分:4)

Firebase将尝试解析"某些字符串"使用类似JSON.parse的函数。 如果你自己尝试,你将无法解析它:



JSON.parse("some string")




但是如果你正确编码了字符串,你会发现它被包含在更多的引号中:



console.log(JSON.stringify("some string"))
console.log("some string")
// will output:
// 1. "some string"
// 2. some string




Firebase API docs使用此示例突出显示此内容:

curl -X PUT -d '"Alan Turing"' \
  'https://docs-examples.firebaseio.com/rest/saving-data/fireblog/users/alanisawesome/name.json'

所以你需要做的就是事先正确地解析数据:

axios.put('firebase/url/example.json', JSON.stringify("some string"))

200的作用原因是,它是一个可由JSON解析器直接读取的单个数字。