如何从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
}
});
答案 0 :(得分:5)
你可以试试这个:
error: function(msg, status) {
if (status === "error") {
var errorMessage = $.parseJSON(msg.responseText);
alert(errorMessage.Message);
}
}
答案 1 :(得分:0)
我也遇到过这个问题。问题是,如果您从Web方法中抛出异常,它会被包装,就像"Message":"{your message}","StackTrace":" at ...
我最终做的是创建这个js函数来解析返回的异常 它非常丑陋,我很想知道是否有人能想出更好的东西。
function getErrorMessage(e) {
return e.responseText.substring(e.responseText.indexOf("\"Message\":\"") + "\"Message\":\"".length, e.responseText.indexOf("\",\"Stack"));
}