我有一个由 ajax 调用调用的处理程序,我从存储过程 SQL 返回错误
下面是我的ajax调用
$.ajax({
url: "Handlers/MyHandlerCall.ashx?QueCtrlType=1"
contentType: "application/json; charset=utf-8",
success: function (data) {
alert('ok')
},
error: function (e) {
alert(e.responseText) // Here i want error message from my Stored Procedure
}
})
这是我的 MyHandlerCall.ashx
try
{
DataTable dt = //Database Call and return DataTable which is working fine
if (dt.Rows.Count > 0)
{
context.Response.Write('ok');
}
}
catch (Exception ex)
{
context.Response.StatusCode = 500;
context.Response.Write(ex.Message); // Passing error which works locally very fine but not on my hosted environment
}
我的 SQL SP 返回错误
IF (1)
BEGIN
RAISERROR('Invalid Call',16,1)
RETURN
END
它在本地返回正确的错误消息,但在托管环境中它抛出内部服务器错误而不是我的 Sp 消息
最佳答案
问题是您的服务器显示默认错误消息 如果您想显示自定义消息,请编写以下代码
context.Response.StatusCode = 500;
context.Response.TrySkipIisCustomErrors = true;
context.Response.Write('Message');
对于 IIS7+
关于javascript - ASP 处理程序未向托管环境中的 ajax 调用返回错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48883690/