提问人:pedrodotnet 提问时间:3/3/2022 更新时间:3/3/2022 访问量:1206
jQuery Ajax 错误显示异常响应消息
jQuery Ajax error show Exception Response Message
问:
我知道这是一个重复的问题,但其他人都没有帮助我:
在以下 Ajax 上:
$.ajax({
type: "POST",
url: "url",
data: {
//data
},
dataType: "json",
success: function (data) {
//do success logic
},
error: function (req, status, error) {
var err = req.responseText.Message;
console.log(err);
}
});
我只需要显示从服务器返回的异常消息:
这仅是:"Error al procesar el recorrido o el mismo es inexistente"
但如下:req.responseText
responseText: "System.Exception: Error al procesar el recorrido o el mismo es inexistente\r\n at
etc etc etc\r\n"
我已经尝试了一些方法,例如: 但这在解析时失败了response = jQuery.parseJSON( req.responseText );
或:
req.responseJSON.Message
但显示未定义
我无法仅显示自定义异常消息,有什么想法吗?
答:
1赞
Jason Pan
3/3/2022
#1
尽量使用 ,而不是 。它在我身边工作得很好。req.responseJSON.value
req.responseJSON.Message
我的测试代码
Javascript 代码
function ShowException() {
$.ajax({
type: "POST",
url: "/Home/ShowException",
data: {
type:1
},
dataType: "json",
success: function (data) {
alert(data.value);
},
error: function (req, status, error) {
var err = req.responseJSON.value;
console.log(err);
}
});
}
C# 代码
[HttpPost]
public IActionResult ShowException(int type)
{
try
{
if (type == 1)
{
return Ok(Json("success"));
}
else {
return NotFound(Json("404 not found"));
}
}
catch (Exception ex)
{
return BadRequest(Json("456"));
throw;
}
}
评论
1赞
pedrodotnet
3/3/2022
这几乎是我的解决方案,返回一个 badRequest 而不是抛出异常,在 req 上创建 responseText,只有我的自定义消息。我会将其标记为答案,非常感谢您抽出时间,这给了我正确的方法
评论