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
NonFormValue
si puede contener caracteres especiales.fuente
encodeURIComponent
para asegurarse de queNonFormValue
no 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
NonFormValue
se 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.POST
lugar derequest.REQUEST
en Django), ob)NonFormValue
es 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