Así que estoy haciendo una solicitud POST con algunos datos que recopilo de un formulario HTML. Sin embargo, quiero usar los datos que el servidor envió fuera de la llamada de búsqueda y esto me está causando dolores de cabeza.
La respuesta es una cadena JSON que puede contener la clave 'userMessage'. Puedo imprimir estos datos dentro de la llamada de búsqueda. Luego devuelvo estos datos y los almaceno en la respuesta variable. Puedo registrar todo este objeto en la consola, pero no puedo usarlo de la misma manera que en la llamada de recuperación. Este es mi código:
email = document.forms["login"]["email"].value; pwd = document.forms["login"]["pwd"].value; data = JSON.stringify({'email':email, 'password': pwd}); response = fetch( "https://companyname/path", { method: 'POST', headers: { 'accept': 'application/json, text/plain, */*', 'accept-language': '[object Object]', 'app-version': '1.0.3', 'content-type': 'application/json' }, body: data }) .then(res => res.json()) .then(data => { console.log('Success:', data['userMessage']); // This works return data; }) .catch((error) => { console.error('Error:', error); }); console.log(response); // This works too alert(response['userMessage']); // This just shows an alert saying "undefined"¿Por qué no funciona esto? ¿Cómo lo rodeo?