jQuery Ajax 错误显示异常响应消息

发布于 2025-01-11 05:20:44 字数 1014 浏览 0 评论 0原文

我知道这是一个重复的问题,但其他人都没有帮助我解决这个问题:

在以下 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 elmismo 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 

但显示未定义

我无法仅显示自定义异常消息,有什么想法吗?

I know this is a duplicate question but none of the others is helping me on this:

On the following 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);
                     }
        });

I need to display only the exception message returned from the server:

which is only: "Error al procesar el recorrido o el mismo es inexistente"

but the req.responseText is the following:

responseText: "System.Exception: Error al procesar el recorrido o el mismo es inexistente\r\n   at 
 etc etc etc\r\n"

I already tried some approaches like:
response = jQuery.parseJSON( req.responseText ); but this fails on parsing

or:

req.responseJSON.Message 

but shows undefined

I'm not being able to show only the custom exception message, any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉月流沐 2025-01-18 05:20:44

尝试使用 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;
    }
}

Try to use req.responseJSON.value, not req.responseJSON.Message. It works fine in my side.

enter image description here


My test code

Javascript code

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# code

[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;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文