【发布时间】:2014-06-25 11:02:10
【问题描述】:
我正在开发一个 Node.JS 应用程序。在客户端我有以下
input(type='hidden', name='imgUrl', id="categorylist", value='[]')
...
var images = $.parseJSON($('#categorylist').val())
images.push(data.result.secure_url)
var jsonImages = JSON.stringify(images)
$('#categorylist').val(jsonImages)
然后我保存到这样的编排数据库中......
exports.addToDb = function(req, res, next){
console.log(req.body)
if(req.params.type) db.put(req.params.type, uuid.v4(), req.body, false)
next();
}
问题是当它被保存时,它看起来像......
"imgUrl": "[\"https://res.cloudinary.com/dbkbp16kc/image/upload/v1403448829/img.png\"]"
“正常”的样子……
"imgUrl": [
"https://f0.bcbits.com/img/a2976218772_2.jpg"
]
如您所见,引号的转义似乎是导致此问题的原因。有人知道我将如何改变处理方式吗?
【问题讨论】:
-
为什么在字符串中有 value='[]' ,括号?
-
我不知道,因为我认为我需要它。不是这样吗?
-
删除那些完全破坏它 * 使其成为 "input(type='hidden', name='imgUrl', id="categorylist", value=[])"
-
您使用的是 Express 吗?如果是这样,请将
app.use(express.bodyParser());添加到您的应用配置中。 -
我认为是因为 $('#categorylist').val(jsonImages), jsonImages 存储为字符串。你试过在 req.body.imgUrl 上做 JSON.parse 吗?