Intentando enviar un formulario usando formgroup, Inicialmente, el valor for era un objeto, pero después de agregar a formdata, el valor se convierte en una cadena para que no pueda analizar los datos en la consulta.
users form value after submit:- [ { "id": "", "employee": "6166d234379ec5e4c9b3fe3", "position": "Manager", "users": [ "715ea5df332403e4215324234", "815ea33534534333e42153432" ], } ] Object.keys(this.Form.controls).forEach(key => { if(key == 'users'){ console.log(typeof(this.Form.get(key).value)) //type is object formData.append(key,this.Form.get(key).value); } }); formData.forEach((value,key) => { console.log(key+" "+typeof(value)) // type of value becomes string }); //trying covert it to object formData.forEach((value,key) => { if(key == 'users'){ formData.set(key,JSON.parse(JSON.stringify(value))); //formData.set(key,JSON.parse(value)); //return error SyntaxError: Unexpected token o in JSON at position console.log(key+" "+typeof(value)) // still string } }); need to submit the formdata with users as objectFormData solo puede ser pares de cadenas clave/valor simples. Si debe usar un objeto FormData, puede experimentar agregando sus valores como cadenas codificadas con json:
formData.append(key, JSON.stringify(this.Form.get(key).value));Esto le permitirá analizar los valores más adelante:
formData.forEach((value, key) => { console.log(key, JSON.parse(value)); });