Actualmente no estoy seguro de cómo usar una llamada de publicación de búsqueda para pasar un objeto a un método que espera ese objeto. Creé una carga útil y la pasé, pero parece que no funciona. He establecido un punto de interrupción en el código subyacente, pero nunca se alcanza. No estoy seguro de por qué la llamada de búsqueda no funciona. ¿Alguna sugerencia sobre cómo no se está alcanzando el punto final?
Este es mi método en C#.
[HttpPost] [Route("ResetPassword")] private void ResetPassword(Player player){ {JavaScript:
const continueBtn = document.getElementById("continueBtn"); continueBtn.onclick = () => { const email = document.getElementById("lblEmail").innerHTML; sendResetEmail(email); } async function sendResetEmail(email) { const payload = { email: email } const data = new FormData(); data.append("json", JSON.stringify(payload)); let sendResetEmail = await fetch(`/ResetPassword`, { method: 'POST', body: data }); }si no desea proporcionar el nombre del parámetro en su cliente, debe proporcionar el atributo [FromBody] en su API:
[HttpPost] [Route("ResetPassword")] private void ResetPassword([FromBody] Player player){ }Luego, en el cliente, hay varias formas, pero la más común/moderna es usar la codificación JSON:
const payload = { email: email } const data = JSON.stringify(payload); let sendResetEmail = await fetch(`/ResetPassword`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: data }); }