【发布时间】:2016-09-29 01:44:33
【问题描述】:
我正在尝试以 html 隐藏形式发布 JSON 对象。 我在后端准备了模型对象,并且能够在前端将其作为一个非常复杂的 JSON 对象获取,然后将其字符串化。现在我需要发布它。问题是我不确定如何在不循环所有属性的情况下将其转换为表单。
基本上我现在在我的 JavaScript 中有一个像这样的字符串:
str = {"language":"en","country":"GB","objectId":24639, ...}
我尝试使用“数据”参数,例如:
<form enctype='application/json' action=someUrl method="post" target="_blank" name="pdfSheetForm" id="pdfSheetForm" accept-charset="utf-8">
<input type="hidden" value="${str}" name="data">
</form>
没有用。我不确定是什么问题。目标是像 str 一样发布 JSON,而不是像数据一样:"{"language": ...}"
【问题讨论】:
-
你要么需要使用模板引擎,要么必须循环遍历它
-
你的
str变量不是字符串,试试$('#hiddeninput').setAttribute('value', document.encodeURIComponent(JSON.stringify(str))) -
enctype application/json 被放弃了。尝试删除它,看看它是否正确发布。
标签: javascript html json