javascript - ASP 处理程序未向托管环境中的 ajax 调用返回错误消息

标签 javascript jquery asp.net ajax error-handling

我有一个由 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/

相关文章:

jquery - 将值从剑道复选框转移到另一个

jquery - 为什么我的图标在图像上的 "src"属性之后没有改变?

c# - asp.net gridview 模板字段中的按钮单击不适用于更新面板

javascript - 使用 Pug 打印 Mongoose 数据库中的所有项目

javascript - 如何在 Headless Chrome 中将 session cookie 从一个选项卡传递到另一个选项卡

javascript - 在文本内容的基础上应用 CSS 样式?

javascript - three.js Hello World 示例 : canvas doesn't render

javascript - 跟踪从自动建议文本框中选择的元素的 id 的最佳方法是什么?

c# - JQuery 从 aspx 页面中获取数据

c# - 调用代码隐藏的确认对话框并获取所选选项