Отправить сообщение об ошибке от webmethod - PullRequest
2 голосов
/ 11 июля 2011

Как мне получить сообщение об ошибке от webmethod, я хочу инициировать ошибку.Кроме того, я хочу разные сообщения об ошибках для разных случаев.

        $.ajax({
            type: "POST",
            url: "betting.aspx/submitFunction",
            data: JSON.stringify({ results: jsonObj, edit: $("#ctl00_ContentPlaceHolder1_CreateOrEdit").val() }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(arg) { //call successfull
                window.location = "bHistory.aspx";
            },
            error: function(xhr) {
                alert("Error! You need to login, and try again");
                window.location = "login.aspx";
                //error occurred
            }
        });

Ответы [ 2 ]

5 голосов
/ 27 сентября 2011

Вы можете попробовать это:

error: function(msg, status) {
    if (status === "error") {
        var errorMessage = $.parseJSON(msg.responseText);
        alert(errorMessage.Message);
    }
}
0 голосов
/ 11 июля 2011

Я тоже столкнулся с этой проблемой. проблема в том, что если вы бросаете исключение из вашего веб-метода, оно переносится, например: "Message":"{your message}","StackTrace":" at ...

В итоге я создал эту функцию js для анализа возвращенного исключения.
это довольно уродливо, и я хотел бы увидеть, если кто-нибудь придумал что-нибудь лучше.

function getErrorMessage(e) {
    return e.responseText.substring(e.responseText.indexOf("\"Message\":\"") + "\"Message\":\"".length, e.responseText.indexOf("\",\"Stack"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...