Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
Devuelve un mensaje de error individual después de una llamada ajax en ASP.NET MVC 5

Cuando envío una solicitud ajax al servidor, quiero devolver un mensaje individual al cliente en el texto de respuesta en caso de error. En modo de depuración en mi máquina de desarrollo, esto funciona bien. Desafortunadamente, en el modo de producción en el servidor web, siempre recibo un mensaje de error "Solicitud incorrecta", pero ya no aparece el mensaje individual. Estoy desarrollando mi aplicación en ASP.NET MVC 5 y estoy usando jQuery 3.6.0.

Mi solicitud de ajax se ve así:

 $.ajax({ type: 'POST', url: 'myURL', data: { val1: clientVal1, val2: clientVal2 }, success: function (res) { //do smthg... }, error: function (response) { alert(response.responseText); } });

En el lado del servidor, tomo la llamada ajax así:

 [HttpPost] public ActionResult myURL(string val1, string val2) { if(val1.contains(val2)) { } else { Response.StatusCode = 400; Response.Write("My custom error msg."); return new HttpStatusCodeResult(400); } return Json(new { someVal1, otherVal2}, JsonRequestBehavior.AllowGet); }

Los httperrors en mi archivo webconfig se ven así:

 <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" subStatusCode="-1" /> <remove statusCode="403" subStatusCode="-1" /> <remove statusCode="500" subStatusCode="-1" /> <error statusCode="404" path="/ErrorHandling/http404" responseMode="ExecuteURL" /> <error statusCode="403" path="/ErrorHandling/http403" responseMode="ExecuteURL" /> <error statusCode="500" path="/ErrorHandling/http500" responseMode="ExecuteURL" /> </httpErrors>

¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

He encontrado la solución. Primero tuve que mover la redirección a las páginas de error individuales en web.config al área <system.web>. Ahora mi área system.web se ve así ([...] significa que hay otras configuraciones que no son relevantes para esto):

 <system.web> [...] <customErrors mode="On" redirectMode="ResponseRedirect" defaultRedirect="/ErrorHandling/http500"> <error statusCode="404" redirect="/ErrorHandling/http404" /> <error statusCode="403" redirect="/ErrorHandling/http403" /> <error statusCode="500" redirect="/ErrorHandling/http500" /> </customErrors> [...] </system.web>

Después de eso, tuve que cambiar la sección system.webServer como se sugiere en la publicación de freedomn-m y sugerido por Rahul Sharam de la siguiente manera:

 <httpErrors errorMode="Custom" existingResponse="PassThrough"> </httpErrors>

Ahora todo funciona como debería.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda