使用jQuery将JSON附加到表单并提交它

使用jQuery将JSON附加到表单并提交它,jquery,json,forms,Jquery,Json,Forms,给定这个空表单,我将如何使用jQuery将JSON对象作为参数附加,然后提交它?表单应该是标准提交,而不是AJAX <form action="/comments" method="post" id="comments_form"> <submit>Post</submit> </form> 邮递 假设您的JSON对象是myData变量(并且您提供): $('#注释表单')。提交(函数(){ 变量$hidden=$(“”); $hidden

给定这个空表单,我将如何使用jQuery将JSON对象作为参数附加,然后提交它?表单应该是标准提交,而不是AJAX

<form action="/comments" method="post" id="comments_form">
  <submit>Post</submit>
</form>

邮递

假设您的JSON对象是
myData
变量(并且您提供):

$('#注释表单')。提交(函数(){
变量$hidden=$(“”);
$hidden.val(JSON.stringify(myData));
$(this.append($hidden);
返回true;
});

上面的代码动态创建一个隐藏的表单输入,并为其值提供JSON对象的字符串表示形式,然后在提交之前将其附加到表单。

myData已经是表单数据的完整哈希。您给出的示例将作为:comment[:myData[myData]]提交,但需要作为:comment[myData]提交。
$('#comment_form').submit(function() {
    var $hidden = $("<input type='hidden' name='myData'/>");
    $hidden.val(JSON.stringify(myData));
    $(this).append($hidden);
    return true;
});