我正在开发 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"
]
如您所见,引号的转义似乎是导致此问题的原因。有人知道我会如何改变处理方式吗?
最佳答案
发生这种情况是因为您stringify
JSON。
删除 var jsonImages = JSON.stringify(images)
并将 images
直接设置为 '#categorylist'
的值
input(type='hidden', name='imgUrl', id="categorylist", value='[]')
...
var images = $.parseJSON($('#categorylist').val())
images.push(data.result.secure_url)
$('#categorylist').val(images)
更新
@Jackie 这个 "imgUrl": "[\"https://res.cloudinary.com/dbkbp16kc/image/upload/v1403448829/img.png\"]"
是因为你是字符串化
JSON。如果您需要在其他地方使用 jsonImages
,最好将 JSON.parse(images)
设置为 #categorylist
var jsonImages = JSON.stringify(images)
...
$('#categorylist').val(JSON.parse(jsonImages))
关于jquery - 添加到列表并通过 html 表单和 jquery 提交的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376074/