サーバーからの例外メッセージをクライアントに表示するために、次のコードを使用します。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static void test(String text)
{
try
{
throw new Exception("Hello");
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
throw new Exception(ex.Message, ex.InnerException);
}
}
クライアント側:
$.ajax({
url: 'DownloadFile.aspx/test',
type: 'POST',
contentType: 'application/json; charset=utf-8',
// Pass the value as JSON string
// You might need to include json2.js for the JSON.stringify
//method: 'http://www.json.org/json2.js',
async: false,
dataType: "json",
data: '{ "text": "' + text'"}',
success: function(Result) {
},
error: function(xhr, textStatus, errorThrown) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
localhost を使用すると、アラート ポップアップに「Hello」が表示されます。リモート サーバーで同じコードを使用すると、一般的なシステム エラーが発生します。
ユーザーに表示される例外メッセージ テキストを取得するにはどうすればよいですか?