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