Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

257
Vistas
Javascript: obtenga un error BadRequest de una Web Api .Net 6 usando fetch

Tengo un pequeño problema para usar fetch,

Este es el código javascript:

 function loginJS() { const login = document.getElementById('login'); const nome = document.getElementById('lnome'); const pass = document.getElementById('lpass'); const item = { Username: nome.value.trim(), Password: pass.value.trim() }; fetch(uri, { credentials: 'include', method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(item) }) .then(response => response.json()) .then((res) => { //trying get the error (this if not work) , 400 is the code for bad request if (status = 400) { console.error(''); //HERE I HAVE THE PROBLEM } nome.value = ''; pass.value = ''; console.info('Login Success'); window.location.href = url_1; }) .catch(error => console.error('Unable to Login: ', error)); }

Entonces, el problema es obtener la solicitud incorrecta de un controlador API web,

Si el controlador da una solicitud mala, tiene que detener la búsqueda y no dar el 'Inicio de sesión exitoso', por ejemplo

¿Cómo se hace esto? y si hay mejores soluciones para obtener este error (por ejemplo, use AJAX en lugar de buscar).

Cualquier ayuda es bienvenida

PD: para advertir que este código Javascript y el código del controlador Web API funcionan normalmente si no hubo solicitudes incorrectas

EDITAR

Con la respuesta de usar algo como un retorno; tengo otro problema que es que no puedo obtener el código de 'estado'

 .then((res) => { if (status == 400) { window.alert('ERRROOORR'); return; } else if (status == 200) { nome.value = ''; email.value = ''; pass.value = ''; window.alert('Register Sucess'); document.getElementById('LoginCheck').click(); } else { window.alert('Not making sense'); } })

En el código de arriba da el 'No tiene sentido', ¿cómo obtengo el valor verdadero del estado pasando el estado verdadero a una variable?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Después de recibir el código de estado 400, ingresa la declaración if ya que es verdadero. Después de eso, es libre de irse ya que no lo devuelve. Ahora el código seguirá adelante después de la declaración if, ya sea verdadera o falsa.

Deberías implementar algo como esto:

 If (status == 400) { console.log("400 triggered"); return; }

Es posible que desee implementar una forma de decirles a sus usuarios que algo salió mal, ya que no tendrán sus consolas abiertas.

CON RESPECTO A LA EDICIÓN

En el siguiente código, asigna el valor devuelto a res

 .then((res) => {

res probablemente significa respuesta en este caso. Debería ver qué devuelve res al iniciar sesión en la consola:

 console.log(res)

Esto debería devolver un objeto que contiene muchas propiedades con respecto al response status . Mire a su alrededor si puede encontrar el statuscode de estado. Esta variable reemplazará a la variable de status .

Cambiará de esto:

 if (status == 400) {

A algo como esto:

 if (res.statusCode == 400) {
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda