Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

259
Visualizações
Cómo cambiar el formato de solicitud json cuando la entrada se captura a través de un formulario

Tenemos el siguiente formulario.

 const MyForm = ({ myFormRef, }) => ( <form id="myForm" ref={myFormRef} method="POST"> <input name="request_token" type="hidden" /> <input name="id" type="hidden" /> <input name="versionId" type="hidden" /> <input name="additionalId" type="hidden" /> </form> ); export default MyForm;

Estamos usando useRef hook para hacer referencia a este formulario y llamarlo dentro de otro Componente de la siguiente manera.

 const myFormRef = useRef(); <MyForm myFormRef={myFormRef} />

La función postData al final está en un archivo js.
La pregunta es sobre esta función postData .
Esto se activa cuando se envía un formulario haciendo clic en un botón.

Todo funciona bien cuando capturo los detalles correctos y puedo enviar el formulario.

La cuestión:

Es el formato de cómo estoy enviando los datos sobre el cual está el problema.

Estoy enviando más detalles en el siguiente formato en este formulario.

 { token, id, versionId, additionalId }

En cambio, quiero enviarlo como:

 { token, overallData: { id, versionId, additionalId } }

¿Cómo puedo modificar el formato de la solicitud para que se ajuste dentro de los datos generales para los 3 campos (el token aún está afuera) antes de enviarlo?

 export const postData = ( myFormRef, token, myLink, id, versionId, additionalId ) => { const fields = { request_token: token, id, versionId, additionalId, }; // checking if data exists for a key (example id or token) and remove if no value against the key. [...myFormRef.current.children].forEach((child) => { child.value = fields[child.name]; if (!child.value) { myFormRef.current.removeChild(child); } }); // then submit myFormRef.current.action = myLink; myFormRef.current.submit(); };

Nota: tengo que apegarme a este estilo para usar el formulario y useRef() debido a otras dependencias.

Por lo tanto, buscando una forma de modificar posiblemente postData. De lo contrario aconsejar otras opciones. Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Prueba esto:

 <form id="myForm" ref={myFormRef} method="POST"> <input name="request_token" type="hidden" /> <input name="overallData.id" type="hidden" /> <input name="overallData.versionId" type="hidden" /> <input name="overallData.additionalId" type="hidden" /> </form>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda