Quiero añadir datos adicionales después de usar $(‘#myForm’).serialize() + extra de datos

$.ajax({
   type: 'POST',
   url: $('#myForm').attr('action'),
   data: $('#myForm').serialize(),   //I WANT TO ADD EXTRA DATA + SERIALIZE DATA
   success: function(data){
      alert(data);
      $('.tampil_vr').text(data);
   }
});
InformationsquelleAutor Joko Wandiro | 2010-12-10

3 Comentarios

  1. 147

    Qué tipo de datos?

    data: $('#myForm').serialize() + "&moredata=" + morevalue

    Los «datos» parámetro es sólo una dirección URL codificada de la cadena. Puede anexar a como más te guste. Ver el API aquí.

    • gracias jthompson funciona muy bien… veo $.ajax manual no serialize() ( novato en ajax )
    • si es más de un solo elemento de datos nees para ser añadidos se puede considerar el uso de ...serialize()+'&'+$.param(myParametersObject) donde myParametersObject es un objeto simple como {'param':'val','param2':'val2',...}
    • Guardar mi tiempo. Gracias mucho..
    • serialize va la url de codificar los datos, así que prefiero dejar que haga el trabajo: $('#myForm, #moredataid').serialize()
  2. 8

    Personalmente, me gustaría añadir el elemento a la forma en lugar de cortar a los datos serializados, por ejemplo,

    moredata = 'your custom data here';
    
    //do what you like with the input
    $input = $('<input type="text" name="moredata"/>').val(morevalue);
    
    //append to the form
    $('#myForm').append($input);
    
    //then..
    data: $('#myForm').serialize()

    De esa manera, usted no tiene que preocuparse acerca de ? o &

    • estás serializar una forma así que ¿por qué no ser nunca un caso de ? o &??? Se trataría de un & a menos que usted está a serializar un formulario vacío… <form id="someForm"></form> que a su vez no tiene punto de
    • ¿Por qué debería tener que lidiar con eso en primer lugar? ¿Por qué no añadir el elemento a la forma, entonces serializar, limpiador de tener para concatenar cadenas de la forma serializada, que el dev podría equivocarse, simplemente, por falta de un & o = para cada campo agregado.
    • A continuación, me gustaría recomendar el uso de .serializeArray() y anexar los datos a la matriz en su lugar. Se va a publicar el mismo en ambos sentidos. Consulte stackoverflow.com/questions/14102732/…
    • Estoy de acuerdo. Yo simplemente no quiero añadir elementos a la cadena serializada, prefiero tener el jQuery hacer el trabajo duro.
  3. 3

    Usted puede hacer esto de esta manera:

    postData[postData.length] = { name: "variable_name", value: variable_value };

Dejar respuesta

Please enter your comment!
Please enter your name here