我的dotnet核心应用程序中有一个动作过滤器,并希望在ajax调用返回错误结果时为用户生成正确的消息。
在客户端向用户显示 errorThrown 参数时,我不想更改客户端脚本。
当ajax调用发生异常(状态码为500)时,用户仅收到“内部服务器错误”消息,我将显示更多详细信息。
我尝试使用return StatusCode(500, Json("Custom error"))
,return StatusCode(500, "Custom error")
,但不会影响向用户显示的结果。
error: function (jqXHR, textStatus, errorThrown) {
$('#failed-info').text(errorThrown);
}
对我来说最好的解决方案是我可以提供一个自定义的statusCode和statusText结果,例如statusCode = 700,StatusText =“出于安全原因,不允许使用。”
答案 0 :(得分:0)
WEB API服务器端自定义消息示例
public class MyAPIController : ApiController
{
[HttpPost]
[Route("~/api/mypath/")]
public IHttpActionResult returnError([FromBody]StringModel value)
{
return Content(HttpStatusCode.Forbidden,"bla bla bla");
}
}
在示例中,它返回状态Forbidden (403)
,但您可以更改为所需的状态。
但是根据状态的浏览器可能会覆盖该错误。