Hola, soy nuevo en JSON y para este proyecto estoy usando POST usando una variable fetch_email dentro de las propiedades del cliente. Actualmente, si envío el valor como {"$email": "sunny@gmail.com"} , se envía. Pero si uso var fetch_email = "sunny@gmail.com" y lo llamo {"$email": fetch_email} , no se envía y arroja un error. ¿Cuál es la mejor manera de llamar a la variable dentro de los const body data para JSON? ¿Puede alguien por favor ayudar en eso?
const options = { method: 'POST', headers: {Accept: 'text/html', 'Content-Type': 'application/x-www-form-urlencoded'}, body: new searchParams({ data: '{"event": "game mode", "customer_properties": {"$email": fetch_email}}' }) }; fetch('https://thrid_party/api', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));No cree cadenas JSON manualmente, use el JSON.stringify() .
body: new searchParams({ data: JSON.stringify({"event": "game mode", "customer_properties": {"$email": fetch_email}}) })Prueba esto:
data: `{"event": "game mode", "customer_properties": {"$email": ${fetch_email}}}`