Skip to main content
 首页 » 编程设计

c#之如何将自定义异常消息返回给 Ajax 调用

2024年02月02日37rubylouvre

我想在 ajax 请求出错时返回特定消息。

[WebMethod] 
public static AjaxReturnObject SubmitWager(string token, string track, string race, string amount, string pool, string runners) 
{ 
    try 
    { 
        var serviceReturn = Services.Account.SubmitWager("", track, race, pool, amount, runners); 
        return new AjaxReturnObject(serviceReturn.AccountToken, serviceReturn.Payload); 
    } 
    catch (CustomServiceException<string> e) 
    { 
        throw new Exception(e.Message); 
    } 
} 

调试说它在我需要的时候命中了我的捕获,但是当我查看我的 jquery ajax 调用中的 xhr 时,它总是说“处理请求时出错。”

error: function (xhr, textStatus, errorThrown) { 
            log(xhr, textStatus, errorThrown); 
} 

我怎样才能让我想要的消息返回到 xhr.responseText 下的 ajax 调用?

请您参考如下方法:

尝试在 catch block 中使用 Throw 而不是 Throw new。一旦你解析了 XHR.responseText,异常消息将包含在“消息”中 例如:

$.ajax({ 
       type: "POST", 
       //... other parameters 
       error: function(XHR, errStatus, errorThrown) { 
             var err = JSON.parse(XHR.responseText); 
             errorMessage = err.Message; 
       } 
});