working serialize not metodo form array jquery serialization serializearray

not - serialize in json jquery



¿Cuál es la diferencia entre.serialize() y.serializeArray()? (1)

Estoy experimentando con enviar un formulario a un controlador. La documentación de jQuery dice que .serializeArray() debería enviar una matriz json, y .serialize () debería crear una cadena de consulta.

Sin embargo, cuando lo pruebo e inspecciono con IE9 F12-mode, parece una cadena de consulta, en ambos casos. Lo que alguna vez llamo hago ...

¿Qué me estoy perdiendo?


serializeArray crea una matriz ( no una "matriz json" - no existe tal cosa); puede probarlo usted mismo con console.log($("#myform").serializeArray()) . Por otro lado, serialize crea una cadena de consulta que debe formar parte de una solicitud HTTP. Ambas representaciones son equivalentes en el sentido de que al usar el código apropiado puede convertir uno a otro sin ninguna ambigüedad.

El motivo de que ambas versiones estén disponibles es que serialize es más conveniente cuando solo desea realizar una solicitud HTTP (simplemente coloque el resultado en la cadena de consulta), mientras que serializeArray es más conveniente si desea procesar los resultados usted mismo.

Los métodos AJAX de jQuery no se preocupan si les das uno o el otro porque detectan el tipo de parámetro y lo convierten en una cadena de consulta si ya no lo es, así que al momento en que se realiza la solicitud los observadores no pueden distinguir qué era el formato original de los parámetros.