Cuando el usuario ingresa el mensaje de respuesta en el cuadro de texto, debe enviar ese valor en el parámetro API en la misma página. Por favor comparte tu Idea.
<input type="text" name="responsemessage" onChange={this.handleChange} > <input type="text" name="uploadId" onChange={this.handleChange} > handleChange = (e) => { const { name, value } = e.target; this.setState({ [name]: value }); console.log(this.state) }Necesito pasar este valor de cuadro de texto al parámetro API en la misma página.
Esta es mi llamada API
handleClick = (event) => { event.preventDefault(); const data = new FormData(event.target); let user = JSON.parse(localStorage.getItem('user')); const accessToken = user; fetch('http://localhost:00000/api/GetProfile/Add_Comment?responsemessage='{Parameter_value}&uploadId={Parameter_value}, { method: 'POST', headers:{ Accept: 'application/json', Authorization: "Bearer " +accessToken }, body: data, }); alert("Added your Comment Successfully!"); window.location.reload(); console.log(data); }Gracias a todos de antemano.
En su estado actual, la URL en su cadena de fetch no es javascript válida. Debería verse como:
const { responsemessage, uploadId } = this.state; const url = `http://localhost:00000/api/GetProfile/Add_Comment?responsemessage=${responsemessage}&uploadId=${uploadId}` Tome nota de los acentos graves y la sintaxis ${} para permitir la interpolación de las variables en la cadena.
Usando solo comillas simples o dobles, se vería así:
const { responsemessage, uploadId } = this.state; const url = 'http://localhost:00000/api/GetProfile/Add_Comment?responsemessage=' + responsemessage + '&uploadId=' + uploadId;Tiene algunas prácticas no tan buenas en su código. Para empezar, debe deshacerse de la recarga de la ventana y, en su lugar, utilizar el ciclo de vida del componente. En este caso, debe ejecutar los efectos secundarios en el montaje y cuándo se actualizará el componente y actualizará el estado en consecuencia.
También debe envolver su búsqueda en un bloque try-catch para manejar los errores. Avísame si necesitas más orientación.