Home > front end >  jQuery Ajax error show Exception Response Message
jQuery Ajax error show Exception Response Message

Time:03-03

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?

CodePudding user response:

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;
    }
}
  • Related