axios.put 保存为字符串
Posted
技术标签:
【中文标题】axios.put 保存为字符串【英文标题】:axios.put save as a string 【发布时间】:2018-08-05 03:28:48 【问题描述】:如果我尝试使用 axios.put 保存一个字符串,它会报错 400: Invalid data;无法解析 JSON 对象、数组或值。
例如:
axios.put('firebase/url/example.json', "some string")
但如果我使用整数,它会完美地工作:
axios.put('firebase/url/example.json', 200)
如何使用 put 保存字符串?
【问题讨论】:
【参考方案1】: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 解析器直接读取的单个数字。
【讨论】:
以上是关于axios.put 保存为字符串的主要内容,如果未能解决你的问题,请参考以下文章
使用 axios.put [laravel + vuejs 3] 更新模式内的数据时出现错误 422