Я тоже столкнулся с этой проблемой. проблема в том, что если вы бросаете исключение из вашего веб-метода, оно переносится, например: "Message":"{your message}","StackTrace":" at ...
В итоге я создал эту функцию js для анализа возвращенного исключения.
это довольно уродливо, и я хотел бы увидеть, если кто-нибудь придумал что-нибудь лучше.
function getErrorMessage(e) {
return e.responseText.substring(e.responseText.indexOf("\"Message\":\"") + "\"Message\":\"".length, e.responseText.indexOf("\",\"Stack"));
}