如果我尝试使用axios.put来保存字符串,则会产生错误400:数据无效;无法解析JSON对象,数组或值。
例如:
axios.put('firebase/url/example.json', "some string")
但如果我使用整数,它将完美地运作:
axios.put('firebase/url/example.json', 200)
如何使用put?
保存字符串答案 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解析器直接读取的单个数字。