jquery - 添加到列表并通过 html 表单和 jquery 提交的问题

标签 jquery html css node.js

我正在开发 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/

相关文章:

javascript - 通过 javascript/jquery 在 html Canvas 上绘图,如何修复此鼠标 x/y 故障?

javascript - 如何从服务器端脚本读取 true/false 响应以将 true/false 返回给 jQuery 函数?

c# - 如何在 asp.net mvc Controller 中获取发布的表单数据

javascript - 添加淡入淡出并按外部 div 以重置为 Jquery 隐藏和显示

javascript - 高度 100% 自定义滚动条

html - 如何为我网站的整个页面设置背景图片?

android - CSS 和 JavaScript 在 Android WebView 中不起作用

javascript - 哪些本地数据库可用于 Javascript?

asp.net-mvc - 在 Razor 中指定密码框的类属性

javascript - 如何在选择单元格时突出显示表格列