2009-11-01 19 views
5

Dado este formulario vacío, ¿cómo usaría jQuery para adjuntar un objeto JSON como parámetros y luego enviarlo? El formulario debe enviarse de forma estándar, no AJAX.Use jQuery para adjuntar JSON a un formulario y envíelo

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

Respuesta

1

Asumiendo que su objeto JSON es la variable myData (y que hacen JSON.stringify disponible):

$('#comment_form').submit(function() { 
    var $hidden = $("<input type='hidden' name='myData'/>"); 
    $hidden.val(JSON.stringify(myData)); 
    $(this).append($hidden); 
    return true; 
}); 

El código anterior crea una entrada de forma oculta sobre la marcha y da su valor la representación de cadena de su Objeto JSON, luego lo agrega al formulario justo antes del envío.

+0

myData ya es el hash completo de los datos del formulario. El ejemplo que proporcione lo enviará como: comment [: myData [myData]], pero debe enviarse como: comment [myData]. – Gavin