數據從服務器來是:
var data = {
"files":[
{
"filename": "29f96b40-cca8-11e2-9f83-1561fd356a40.png",
"cdnUri":"https://abc.s3.amazonaws.com/"
}
]
}
我把JSON數據中隱藏的輸入字段:
更新時間:
$('#logoVal').val(JSON.stringify(file));
和HTML是:
<input id="logoVal" type="hidden" value="{"filename":"29f96b40-cca8-11e2-9f83-1561fd356a40.png","cdnUri":"https://abc.s3.amazonaws.com/"}" name="logo">
當我提交表單,我這樣做:
var data = $("#form").serializeArray();
data.logo = JSON.parse($('#logoVal').val());
但標誌變爲:
"logo": "{\"filename\":\"72553050-cca2-11e2-9c13-7d08f99324cc.png\",\"cdnUri\":\"https://abc.s3.amazonaws.com/\"}",
在蒙戈數據庫。
我該怎麼辦?
你顯然需要再次解碼。除非你的意思是不應該有反斜槓,但沒有那些你會得到一個無效的字符串。 –
該HTML無效,您將需要轉義引號 - 它們是屬性值分隔符。爲什麼你的JSON有撇號? – Bergi
這是您的實際HTML標記嗎? – BrunoLM