actualmente tengo lo siguiente:
$.ajax({
    type: 'POST',
    url: this.action,
    data: $(this).serialize(),
});Esto funciona bien, sin embargo, me gustaría agregar un valor a los datos, así que intenté
$.ajax({
    type: 'POST',
    url: this.action,
    data: $(this).serialize() + '&=NonFormValue' + NonFormValue,
});Pero eso no se publicó correctamente. ¿Alguna idea sobre cómo puede agregar un elemento a la cadena de serialización? Esta es una variable de página global que no es específica de un formulario.
                    
                        serialization
                                jquery
                                
                    
                    
                        La salida
fuente
                
                fuente

'&NonFormValue=' + NonFormValue?Respuestas:
En vez de
probablemente quieras
Debe tener cuidado de codificar en URL el valor de
NonFormValuesi puede contener caracteres especiales.fuente
encodeURIComponentpara asegurarse de queNonFormValueno tenga ningún carácter especialSi bien la respuesta de Matt b funcionará, también puede usarla
.serializeArray()para obtener una matriz de los datos del formulario, modificarla y usarlajQuery.param()para convertirla en un formulario codificado en URL. De esta manera, jQuery maneja la serialización de sus datos adicionales por usted.fuente
en primer lugar, no debería
ser
y en segundo lugar puedes usar
o si la acción ya contiene algún parámetro
fuente
NonFormValuese enviaría como un parámetro de URL, no en los datos POST. Esto podría no ser ideal si a) lo que se esté ejecutando en el lado del servidor espera que se publique (por ejemplo, usando enrequest.POSTlugar derequest.REQUESTen Django), ob)NonFormValuees algo que no debería aparecer en la barra de URL o en el historial, ya sea por razones de seguridad o porque es un valor transitorio.Agregue el artículo primero y luego serialice:
fuente
No olvides que siempre puedes hacer:
en su forma real, que puede ser mejor para su código según el caso.
fuente
Podemos hacer como:
Por ejemplo:
fuente
Puede escribir una función adicional para procesar datos de formulario y debe agregar sus datos no formularios como el valor de datos en el formulario. Vea el ejemplo:
Luego agregue este jquery para el procesamiento de formularios
fuente
esto mejor:
fuente