从webmethod发送错误消息

如何从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 } }); 

我也遇到过这个问题。 问题是,如果你从你的web方法中抛出exception,它会被包装,就像"Message":"{your message}","StackTrace":" at ...

我最终做的是创建这个js函数来解析返回的exception。
这很丑陋,我很想知道是否有人能想出更好的东西。

 function getErrorMessage(e) { return e.responseText.substring(e.responseText.indexOf("\"Message\":\"") + "\"Message\":\"".length, e.responseText.indexOf("\",\"Stack")); } 

你可以试试这个:

 error: function(msg, status) { if (status === "error") { var errorMessage = $.parseJSON(msg.responseText); alert(errorMessage.Message); } }